I have to check if my property file is empty for certain label based on that I have to render the element but even when the label is empty i still get the element displaying key:
<h:panelGroup rendered="#{not empty I18N['key_hint_message'] }">
<h:outputLabel id="hint_label" value="#{I18N['key_label_hint']}
"></h:outputLabel>
<h:outputText value="#{I18N['key_hint_message']}" ></h:outputText>
</h:panelGroup>
JSF implementation displays by defaults missing resources as
???resource???
, So you can use thefn:contains
JSTL function in yourrendered
attribute like this:You can use
ResourceBundle#containsKey()
for this.You'd better not rely on default format of missing keys as this can be overriden by a custom resource bundle resolver.