Jsf 表达式语言隐式对象

Jsf 表达式语言隐式对象,jsf,el,Jsf,El,如何通过表达式语言访问JSF隐式对象 例如,如果我想确定当前主体与哪些角色关联,我该如何做呢?如果您在JSP上使用JSF,那么您可以使用与在“普通JSP EL”中相同的方法来做 如果您在Facelets上使用JSF,那么您可以像在“普通JSP EL”中那样省略pageContext部分 无论哪种方式,它都返回对象 但是,确定用户角色的唯一方法是方法。不能在标准EL中向方法传递参数。但是,当您用JBoss EL替换标准EL时,您可以这样做 #{request.isUserInRole(role)}

如何通过表达式语言访问JSF隐式对象


例如,如果我想确定当前主体与哪些角色关联,我该如何做呢?

如果您在JSP上使用JSF,那么您可以使用与在“普通JSP EL”中相同的方法来做

如果您在Facelets上使用JSF,那么您可以像在“普通JSP EL”中那样省略
pageContext
部分

无论哪种方式,它都返回对象

但是,确定用户角色的唯一方法是方法。不能在标准EL中向方法传递参数。但是,当您用JBoss EL替换标准EL时,您可以这样做

#{request.isUserInRole(role)}
要安装JBoss EL,只需输入
/WEB-INF/lib
,并将以下内容添加到
WEB.xml
,假设您使用的是Mojarra:

<context-param>     
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>   
</context-param>

com.sun.faces.expressionFactory
org.jboss.el.ExpressionFactoryImpl

BalusC,谢谢你的帮助。我刚刚升级到Tomcat7,它更新了对EL的支持。我要试一试,看看它是否管用。
#{request.isUserInRole(role)}
<context-param>     
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>   
</context-param>