Bonjour,
Désolé pour le titre peu parlant mais je n'ai rien trouvé de plus explicite.

Je dois réaliser un questionnaire. Pour chaque question on peut avoir plusieurs réponses. Il arrive que deux questions aient des réponses dont les libelles sont identiques.

J'ai une datatable ou sur chaque ligne il y a une question dans la premiere colonnes et les réponses possibles dans la seconde colonne.

Ci-dessous ma page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
  <h:dataTable value="#{monbean.qcms}" var="qcm" >
    <h:column >
      <f:facet name="header">
        <h:outputText value="Question"/>
      </f:facet>
      <h:outputText value="#{qcm.nameQuestion}"/>
    </h:column>
    <h:column >
      <f:facet name="header">
        <h:outputText value="Answers"/>
      </f:facet>
      <h:selectOneRadio  required="false" layout="pageDirection"   value="#{qcm.answerSelected}">
        <f:selectItems   value="#{qcm.lstAnswers}"/>
      </h:selectOneRadio>
    </h:column>
Tel quel, ca ne marche car il n'y a pas de converter. Mon probleme est que pour écrire la méthode getAsObject du converter,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
j'ai besoin de connaitre le champ "id" de mon objet Answer. Or JSF ne me renvoie dans "arg2" que le texte affiché dans le bouton radio.

Ma question: Dans le tag selectitems,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 <f:selectItems   value="#{qcm.lstAnswers}"/>
peut on préciser le "itemValue"? , comme on le fait pour selectItem? Mon objectif est de pouvoir récupérer dans mon converter l'identifiant de la réponse choisie (pas le libelé affiché).

Merci de votre aide.