表达式语言隐式对象

时间:2010-07-02 21:36:04

标签: jsf el

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

例如,如果我想确定当前委托人与哪些角色相关联,我该怎么办呢?

1 个答案:

答案 0 :(得分:4)

如果您在JSP上使用JSF,那么您可以像在“普通JSP EL”中那样使用它。

#{pageContext.request}

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

#{request}

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

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

#{request.isUserInRole(role)}

要安装JBoss EL,只需将jboss-el.jar放入/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>
相关问题