Bonjour,
J'ai un pb assez bizarre. Je souhaite réaliser un affichage conditionnel dans une <h:datatable>. Le principe : vérifier sur chaque bean contenu dans ma liste si une propriété dispose d'une valeur spécifique et afficher la ligne de la datable en fonction.
Actuellement, je fais :
où les méthode isInputValueFilter() et isSelectValueFilter() me retournent un boolean.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <h:dataTable id="filtersTable" value="#{requeteRci.filters}" var="filter"> <h:column rendered="#{filter.inputValueFilter}"> <h:outputText rendered="#{filter.inputValueFilter}" value="Test1" /> </h:column> <h:column rendered="#{filter.selectValueFilter}"> <h:outputText rendered="#{filter.selectValueFilter}" value="Test2" /> </h:column> </h:dataTable>
Sur mon environnement de dev, tout est OK. En revanche, sur la recette, j'ai l'impression que l'expression définie dans l'attribut "rendered" n'est pas interpretée car rien n'est affiché à l'écran.
J'ai d'abord pensé que c'était l'attribut "rendered" qui n'était pas interprété mais en faisant :
Il m'affiche les données résultant des méthodes filter.isInputValueFilter() et filter.getType(). Là où c'est bizarre c'est que la valeur retournée par isInputValueFilter vaut bien "true"..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <h:column rendered="true"> <h:outputText rendered="true" value="#{filter.inputValueFilter}-" /> <h:outputText rendered="true" value="#{filter.type}" /> </h:column>
Pourtant le texte "Test1" n'est pas affiché :
Le serveur d'app est JBOSS v4.2.2 GA. Sur mon environnement de dev, j'ai laissé le paramétrage par défaut. Donc rien de spécial.. Je n'explique pas pourquoi l'affichage n'est pas correctement effectué sur l'env de recette.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <h:column rendered="#{filter.inputValueFilter}"> <h:outputText rendered="#{filter.inputValueFilter}" value="Test1" /> </h:column>
Avez vous des idées ??
Merci !
Partager