2010-02-01 2 views
0

J'ai remarqué ce comportement de JSF EL. 1.En ce qui concerne le langage d'expression JSF

<h:panelGroup rendered="#{!admissionBean.requestStatus=='PR'}"> 
..some buttons without rendered attribute 
</h:panelGroup> 

2.

<h:inputText size="6" value="#{dimension.newWeight}" disabled="#{admissionBean.requestStatus=='PR'}"></h:inputText> 

1 n'est pas rendu. 2. La zone de texte n'est pas désactivée.

Comment les deux peuvent-ils se produire ensemble? textbox non désactivé signifie que requestStatus n'est pas égal à PR. signifie que l'état rendu du groupe de panneaux doit être vrai.

Avez-vous besoin de quelque chose?

Merci

+0

{admissionBean.requestStatus ne 'PR'} fonctionne correctement. – crazyTechie

Répondre

8

Juste pour essayer: Peut-être! au début s'applique comme un opérateur unaire, avant la comparaison ==. Par conséquent, le résultat n'est pas attendu.

Que ce soit juste ou non, je vous suggère d'utiliser

<h:panelGroup rendered="#{admissionBean.requestStatus!='PR'}"> 
..some buttons without rendered attribute 
</h:panelGroup> 

L'idée de vérifier si ce ne correspond pas à qui effectue logiquement.

+2

Exactement. Et pour avoir une vue d'ensemble de tous les opérateurs valides, regardez ici: http://java.sun.com/javaee/5/docs/tutorial/doc/bnahq.html#bnaik Au point, c'est * fondamentalement * le même que dans Java. – BalusC