Как получить доступ к javax.faces.PROJECT_STAGE из представления / внутри кода? - PullRequest
10 голосов
/ 03 августа 2010

[Моя настройка: приложение Java EE 6, с EJB3.1, CDI / Weld, JSF2, работающим на Glassfish 3.0.1]

Я только что прочитал о Faces ProjectStage на этой странице , и это крутая вещь. Поэтому я настроил его в своем файле Web.xml, указав значение «Разработка»:

<context-param>
  <param-name>javax.faces.PROJECT_STAGE</param-name>   
  <param-value>Development</param-value>
</context-param>

Теперь я хочу получить доступ к ProjectStage из представления JSF (соответственно настраивая видимость определенных компонентов пользовательского интерфейса).

Поэтому я уже пробовал что-то вроде выходного текста со значением #{javax.application.projectStage}, которое кажется нулевым, и я также пробовал много других вариантов, но безуспешно. Мне даже не удается получить доступ к ProjectStage из Java-кода (тогда я мог бы сам выставить его с помощью Бина).

Как я могу получить доступ к значению PROJECT_STAGE в моем приложении?

Ответы [ 3 ]

26 голосов
/ 03 августа 2010

Понял.В представлении к нему можно получить доступ как:

<h:outputText value="Stage:#{facesContext.application.projectStage}"/>

В коде к нему можно получить доступ как

2 голосов
/ 03 августа 2010

Это, вероятно, предоставляется через неявный объект initParam . В противном случае проверьте ExternalContext .

0 голосов
/ 20 июня 2011

Вы можете получить его, используя предопределенную переменную JSF EL initParam

#{initParam['javax.faces.PROJECT_STAGE']}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...