Utilisez l'attribut rendered
. Il accepte une expression booléenne. Ajoutez une méthode à l'entité User
comme isAdmin()
ou getRole()
et laissez l'attribut rendered
intercepter sur cela. Pour le cas qui vous intéresse, voici d'autres exemples d'utilisation des expressions booléennes dans EL. Dans le cas qui vous intéresse, voici d'autres exemples d'utilisation des expressions booléennes dans EL.
syntaxe JSP compatible:
<h:someComponent rendered="#{bean.booleanValue}" />
<h:someComponent rendered="#{bean.intValue > 10}" />
<h:someComponent rendered="#{bean.objectValue == null}" />
<h:someComponent rendered="#{bean.stringValue != 'someValue'}" />
<h:someComponent rendered="#{!empty bean.collectionValue}" />
<h:someComponent rendered="#{!bean.booleanValue && bean.intValue != 0}" />
<h:someComponent rendered="#{bean.enumValue == 'ONE' || bean.enumValue == 'TWO'}" />
syntaxe Facelets compatible avec certains XML-sensitive opérateurs EL comme >
et &
changé:
<h:someComponent rendered="#{bean.booleanValue}" />
<h:someComponent rendered="#{bean.intValue gt 10}" />
<h:someComponent rendered="#{bean.objectValue eq null}" />
<h:someComponent rendered="#{bean.stringValue ne 'someValue'}" />
<h:someComponent rendered="#{not empty bean.collectionValue}" />
<h:someComponent rendered="#{not bean.booleanValue and bean.intValue ne 0}" />
<h:someComponent rendered="#{bean.enumValue eq 'ONE' or bean.enumValue eq 'TWO'}" />
ne JSF2 ne permettent plus l'utilisation de '&&', parce que cela me donne ce 'Le nom de l'entité doit immédiatement suivre le « & » dans le référence d'entité ». Cependant, si j'utilise le mot-clé 'and', alors cela fonctionne –
@Harry: Oh désolé, c'était le style JSP. En XML (XHTML, Facelets), vous devez échapper aux entités XML. Le '&' est l'un d'entre eux. Oui, 'and' est le bon mot-clé. Pour le reste, [voici un aperçu] (http://download.oracle.com/javaee/5/tutorial/doc/bnahq.html#bnaik). – BalusC
merci beaucoup: D –