Come posso verificare se una chiave pacchetto di risorse non esiste utilizzando i tag JSTL?
-
09-09-2019 - |
Domanda
Ho un file di risorse che avrà alcuni tasti opzionali. Se la chiave di risorsa opzionale non è presente, ho impostato invece un default. Sembra che non v'è alcun modo semplice per determinare se una chiave esiste nel bundle di risorse. Quindi questo è quello che sto facendo per aggirare l'ostacolo.
<fmt:message var="title" key="login.reg.signup.${signupForm.regfrom}.title" />
<c:if test='${fn:startsWith(title, "??")}'>
<fmt:message var="title" key="login.reg.signup.default.title" />
</c:if>
C'è un modo migliore?
Soluzione
Si potrebbe scrivere il proprio tag JSP che fa questo, in modo da poter poi basta fare:
<my:message var="title" key="${form}.title" default="default.title"/>
L'implementazione di tag potrebbe essere sia la sintassi corrente JSP, o di una classe Java.
Altri suggerimenti
È possibile utilizzare il #{messagesFactory.messages.containsKey('key')}
per controllare.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow