Bonjour à tous,
je sollicite votre aide (encore une fois) sur un petit problème lié au contenu dynamique de mon application.
Cette application a pour but de générer des questionnaires avec un nombre de questions modulable.
J'ai donc une page qui me permet d'ajouter des questions avec une popup (richfaces) qui incrémente une liste de question dans le questionnaire.
Maintenant je dois récupérer les informations de celles-ci lorsque le formulaire de la page générée est posté.
Le souci c'est que :
Pour récupérer les réponses des répondants, j'ai créé une classe Reponse qui possède :
-un Id
-un String qui est la valeur de la réponse
-une question de type Question qui est la question correspondante à la réponse.
Les répondants possèdent quant à eux :
-un Id
-une liste de métadonnées (pas de problème de ce côté la)
-une liste de réponses(ArrayList<String>)
-une date (date à laquelle ils répondent au questionnaire)
dans la page xhtml qui est la page généréé, j'ai :
une balise <ui:repeat> qui itère sur beaucoup de h:panelGroup avec l'attribut rendered pour pouvoir n'afficher les zones de saisies en fonctions des propriétés des questions contenues dans le questionnaire.
Comme les zones de saisies sont générées dynamiquement et que j'ignore à l'avance le nombre de question qu'il y a,
je ne sais pas quoi mettre dans l'attribut value de mes zones de saisie car je ne sais pas le numéro de la question actuelle (à cause de l'itération du ui:repeat)
J'ai cherché sur le net et j'ai vu qu'il existé ce qu'on appelle des propriétés indexées, pour pouvoir remplir une liste, de type
value={managedBean.maList[0]}
Sauf que dans mon cas, le 0 n'est pas fixe.
J'ai pensé faire un compteur en javascript et l'incrémenter à a chaque parcours de mon ui:repeat cependant mes connaissances en javascript sont particulièrement mauvaises
je voudrais savoir si quelqu'un a dejà eu ce problème et si quelqu'un aurait pu m'aider.
Cordialement,
P.S:si vous avez besoin de sources ou quoique ce soit
Partager