2010-07-02 6 views
3

Comment les objets implicites JSF peuvent-ils accéder via le langage d'expression? Par exemple, si je voulais déterminer les rôles auxquels le principal actuel est associé, comment pourrais-je le faire?Objets implicites en langage d'expression

Répondre

4

Si vous utilisez JSF sur JSP, vous pouvez le faire comme vous le feriez dans "JSP EL simple".

#{pageContext.request} 

Si vous utilisez JSF sur Facelets, vous pouvez omettre la partie pageContext de la manière que vous le feriez dans « plaine JSP EL ».

#{request} 

Dans les deux cas, il renvoie l'objet HttpServletRequest.

Cependant, la seule méthode qui détermine le rôle de l'utilisateur est la méthode isUserInRole(String role). Vous ne pouvez pas passer d'arguments aux méthodes dans EL standard. Vous pouvez cependant le faire lorsque vous remplacez EL standard par JBoss EL.

#{request.isUserInRole(role)} 

Pour installer JBoss EL, il suffit de mettre en jboss-el.jar/WEB-INF/lib et ajouter ce qui suit à la web.xml, en supposant que vous utilisez Mojarra:

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

BalusC, merci pour l'aide. Je viens de passer à Tomcat 7, qui a mis à jour le support pour EL. Je vais essayer et voir si cela fonctionne. – Wilson

Questions connexes