表达语言隐式对象

Wil*_*son 4 jsf el

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

例如,如果我想确定当前校长与哪些角色相关联,我该怎么做?

Bal*_*usC 5

如果在JSP上使用JSF,则可以像在“普通JSP EL”中一样进行操作。

#{pageContext.request}
Run Code Online (Sandbox Code Playgroud)

如果在Facelets上使用JSF,则可以pageContext像在“普通JSP EL”中那样省略该零件。

#{request}
Run Code Online (Sandbox Code Playgroud)

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

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

#{request.isUserInRole(role)}
Run Code Online (Sandbox Code Playgroud)

要安装的JBoss EL,只是把的jboss-el.jar/WEB-INF/lib 并添加以下的web.xml,假设你使用钻嘴鱼科:

<context-param>     
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>   
</context-param>
Run Code Online (Sandbox Code Playgroud)