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 :

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>
où les méthode isInputValueFilter() et isSelectValueFilter() me retournent un boolean.
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 :
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>
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"..

Pourtant le texte "Test1" n'est pas affiché :

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>
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.

Avez vous des idées ??

Merci !