[我的设置:
Java EE 6应用程序,使用EJB3.1,CDI / Weld,JSF2运行在Glassfish 3.0.1]
我刚刚阅读了关于this page的Faces ProjectStage,这是一件很酷的事情.所以我将其配置在我的Web.xml中,将其设置为开发:
<context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param>
现在我想从JSF视图访问ProjectStage(相应地设置特定UI组件的可见性).
因此,我已经尝试像一个值为#{javax.application.projectStage}的输出文本,这似乎是null,我也尝试了许多其他变体,没有成功.我甚至没有设法从Java代码中访问ProjectStage(然后我可以使用一个Bean自己暴露).
如何在我的应用程序中访问PROJECT_STAGE值?
解决方法
得到它了.从这个角度来说,它可以被访问如下:
<h:outputText value="Stage:#{facesContext.application.projectStage}"/>
在代码中,可以像下面这样访问:
FacesContext.getCurrentInstance().getApplication().getProjectStage().toString()