Как проверить, существует ли ключ пакета ресурсов с использованием тегов JSTL?
У меня есть файл ресурсов, который будет иметь некоторые дополнительные ключи. Если необязательный ключ ресурса отсутствует, вместо этого я устанавливаю значение по умолчанию. По-видимому, нет простого способа определить, существует ли ключ в наборе ресурсов. Так вот что я делаю, чтобы обойти это.
<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>
Есть ли лучший способ?
Ответы
Ответ 1
Вы можете написать свой собственный тег JSP, который сделает это, поэтому вы можете просто сделать:
<my:message var="title" key="${form}.title" default="default.title"/>
Реализация тега может быть либо вашим текущим синтаксисом JSP, либо классом Java.
Ответ 2
Вы можете использовать #{messagesFactory.messages.containsKey('key')}
для проверки.