從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