В моем приложении я пытаюсь получить ярлыки из пакета сообщений.
Однако вместо того, чтобы использовать значения ключей констант, я использую переменные
<c:forEach var="emailAddress" items="${emailAddresses}">
...
<c:set var="labelKey" value="Contact_Label_${emailAddress.type}"/>
...
<h:outputText value="#{faces_translations[labelKey]}"/>
...
</c:forEach>
В большинстве случаев это работает правильно, но очень часто, когда страница
загружены некоторые метки не обрабатываются правильно и следующие
сообщение отображается:
???Contact_Label_???
Похоже, что email.type не возвращает значение, однако я добавил несколько
код отладки для распечатки значения email.type, включая
${emailAddress.type}
и увидел, что возвращено значение.
Еще одна вещь, которую я пытался, это удалять значение каждый раз перед установкой
снова внутри цикла, используя. Это привело к следующему
исключение. Я подтвердил, что у меня есть библиотека тегов, включенная в файл WAR
(jstl-api-1.2.jar и jstl-impl-1.2.jar, а также javax.faces-2.1.7).
<c:remove> Tag Library supports namespace: http://java.sun.com/jsp/jstl/core,
but no tag was defined for name: remove
Обе эти проблемы действительно сбивают с толку. Этикетка работает большую часть времени,
но не последовательно. Тег определен во включенной библиотеке, но не может быть найден.
Заранее спасибо за любые указатели.