JSF EL expressions to check empty string in propery file?

后端 未结 2 1699
一个人的身影
一个人的身影 2021-01-26 11:53

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

相关标签:
2条回答
  • 2021-01-26 12:14

    You can use ResourceBundle#containsKey() for this.

    <h:panelGroup rendered="#{I18N.containsKey('key_hint_message')}">
        <h:outputLabel value="#{I18N['key_label_hint']}" />
        <h:outputText value="#{I18N['key_hint_message']}" />
    </h:panelGroup>
    

    You'd better not rely on default format of missing keys as this can be overriden by a custom resource bundle resolver.

    0 讨论(0)
  • 2021-01-26 12:14

    JSF implementation displays by defaults missing resources as ???resource???, So you can use the fn:contains JSTL function in your rendered attribute like this:

     <h:panelGroup  rendered="${not fn:contains(I18N['key_hint_message'], '???')}">
          <h:outputLabel id="hint_label" value="#{I18N['key_label_hint']}"/>
          <h:outputText value="#{I18N['key_hint_message']}" />
     </h:panelGroup>
    
    0 讨论(0)
提交回复
热议问题