我正在使用 PrimeFaces 的数据表。我收到“未找到记录”。当表没有元素时。我想将此消息更改为“无结果”之类的内容,并将此消息设为 i18n 类型。
我不想使用
<p:dataTable
id="idTable"
...
emptyMessage="#{messages['general.message.EmptyList']}"
>
每个表。
如何更改 p:dataTable 默认 emptyMessage
消息?
最佳答案
来自 PrimeFaces 3.5 DataTable
源代码:
210 public java.lang.String getEmptyMessage() {
211 return (java.lang.String) getStateHelper().eval(PropertyKeys.emptyMessage, "No records found.");
212 }
因此,它是硬编码的,除了破解 PrimeFaces 源代码或创建 tagfile (not composite!) 之外,没有其他方法可以在一个地方更改它。 <my:dataTable>
其中包含 <p:dataTable>
与所需的消息集。
<ui:composition ...>
<p:dataTable id="#{id}" value="#{value}" var="item"
emptyMessage="#{messages['general.message.EmptyList']}">
<ui:insert />
</p:dataTable>
</ui:composition>
<my:dataTable id="foo" value="#{bean.items}">
<p:column>#{item.foo}</p:column>
<p:column>#{item.bar}</p:column>
</my:dataTable>
如果您实际上不想更改消息,而只是想完全隐藏它,那么您也可以选择纯 CSS 解决方案:
.ui-datatable-empty-message {
display: none;
}
关于jsf - 如何更改默认 p :dataTable emptyMessage message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14855952/