Généricité sur une DataTable
Bonjour à tous,
J'ai un petit problème avec la généricité en jsf 2.0 :cry:
Pour expliquer mon cas, je développe une application qui permet de créer des questionnaire.
Un questionnaire contient des composant qui peuvent être de deux sortes :
-Une question.
-Un commentaire (zone de texte)
Ce que je veux faire, c'est afficher tout mes composant attachés au questionnaire avec une dataTable.
J'ai fait :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<rich:dataTable value="#{editQuestionnaire.composants}" var="composant" id="composant-table" >
<rich:columnGroup rendered="composant.typeComposant='1">(valeur retournée par le selectOneMenu quand je choisit le type de composant)
<rich:column>
<f:facet name="header">
<h:outputText value="Titre" />
</f:facet>
<h:outputText value="#{composant.titreQuestion}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Type" />
</f:facet>
<h:outputText value="#{composant.typeQuestion}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Parametres" />
</f:facet>
<h:outputText value="#{composant.realParameters}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Est Obligatoire" />
</f:facet>
<h:outputText value="#{composant.required}" />
</rich:column>
</rich:columnGroup>
<rich:columnGroup rendered="#composant.typeComposant=='COMMENTAIRE'}">
<rich:column>
<f:facet name="header">
<h:outputText value="commentaire" />
</f:facet>
<h:outputText value="#{composant.message}" />
</rich:column>
</rich:columnGroup>
</rich:dataTable> |
Le souci, si je résume provient du fait que lors de l'itération, je ne sais pas encore quel type de composant est-ce, et donc je sais pas comment afficher les bonnes informations oO
La j'utilise des composant.nom de ce que je veux mais ça ne risque pas d'appeller les getteurs de ma classe fille....
Est-ce que quelqu'un pourrait m'aider ?