Ответ 1
Из исходного кода PrimeFaces 3.5 DataTable
:
210 public java.lang.String getEmptyMessage() {
211 return (java.lang.String) getStateHelper().eval(PropertyKeys.emptyMessage, "No records found.");
212 }
Итак, он жестко закодирован, и нет способа изменить его в одном месте иначе, чем взломать источник PrimeFaces или создать тег (не композитный!) <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: p >
.ui-datatable-empty-message {
display: none;
}