Язык выражения неявных объектов - PullRequest
3 голосов
/ 03 июля 2010

Как неявные объекты JSF могут быть доступны через язык выражений?

Например, если я хочу определить, с какими ролями связан текущий участник, как я могу это сделать?

1 Ответ

4 голосов
/ 03 июля 2010

Если вы используете JSF в JSP, то вы можете сделать это точно так же, как в «обычном JSP EL».

#{pageContext.request}

Если вы используете JSF на Facelets, то вы можете опустить деталь pageContext так, как вы это делали в "plain JSP EL".

#{request}

В любом случае он возвращает объект HttpServletRequest.

Однако единственным методом, определяющим роль пользователя, является метод isUserInRole(String role).Вы не можете передавать аргументы методам в стандартном EL.Однако вы можете сделать это, заменив стандарт EL на JBoss 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>
...