JSF 2 - Как получить значение context-param из web.xml с помощью JSF EL?
Я хотел бы объявить некоторые постоянные значения, используемые моим веб-приложением JSF 2 внутри файла web.xml следующим образом:
<web-app>
<context-param>
<param-name>myconstantkey</param-name>
<param-value>some string value</param-value>
</context-param>
</web-app>
Получение этих значений изнутри bean достаточно просто:
FacesContext ctx = FacesContext.getCurrentInstance();
String myConstantValue =
ctx.getExternalContext().getInitParameter("myconstantkey");
Как добиться того же результата изнутри страницы Facelets с помощью JSF EL, чтобы получить значение?
Ответы
Ответ 1
Ответ Стива Тейлора действительно работает, но есть более простой способ использования предварительно заданного объекта JSF EL initParam
.
<h:outputText value="#{initParam['myconstantkey']}" />
Первоначально это не работало для меня, потому что я забыл поставить одинарные кавычки вокруг имени ключа и возвращал пустую строку. Это решение также должно работать с ключевыми значениями, которые содержат точечные символы.
Ответ 2
#{facesContext.externalContext.initParameterMap.myconstantkey}
Ответ 3
Через EL
${initParam['myconstantkey']}