从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;
}
我建议向PrimeFaces团队添加问题。老实说,我认为现在是时候(对于具有这种成熟度的工具)来使用它们正在使用的所有默认消息来创建属性文件,所以它可以像这些默认的JSF验证消息一样被覆盖。不仅适用于数据表,而且适用于所有组件。 – partlov 2013-02-13 14:53:12