Salut,
C'est encore moi,
J'ai un formulaire d'organisation d'événements dont le nombre d'organisateur est supérieur à 1, mais je n'ai pas de bornes supérieur.
Le principe est de permettre au visiteur de ma page de rajouter des champs Identifiants MotDePasse à la volée, un peut comme le principe de gmail concernant les pièces jointes (pour ceux qui ne connaissent pas : un petit lien en bas de la zone de saisie (file) qui permet d'ajouter ou de retirer un champ)
j'ai déclaré dans mon formulaire un objet de type Set<Utilisateur> pour que je puisse ajouter des utilisateur à la volée sans connaître à priori leur nombre exacte.
J'ai deux problèmes à ce sujet :
le premier : comment ajouter un objet de type utilisateur à mon Set (utilisateurs.add(new Utilisateur)) sans faire appel à une action différente qui m'obligerait à recharger ma page ? (comme dans gmail quoiet recharger dynamiquement les champs.
mon deuxième problème qui est plus grave, c'est que quand je rajoute des utilisateurs à mon Set et que je tente d'afficher des champs de saisie (identifiants et mot de passes) pour chaque utilisateur
, il ont tous le même « name », mon formulaire ne réussi donc pas à en récupérer les valeurs :'( :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <logic:iterate id="organisateur" name="organisateurs"> <layout:line> <layout:field key="identifiant" property="identifiant" name="organisateur" ...qq options> <layout:field key="mot.de.passe" property="motDePasse" name="organisateur" type="password" ...qq options> </layout:line> </logic:iterate>
J'ai donc rajouté un champ identifiantObjet qui est être unique pour reconnaître les objets de types Utilisateur avec une méthode statique getUtilisateur(String identifiantObjet, Set<Utilisateur>) qui retourne soit l'utilisateur qui l'identifiant spécifié soit null.
Le truc, c'est que je ne sais pas comment l'utiliser pour distinguer mes Utilisateur dans le formulaire.
si vous avez une idée, n'hésiter à m'en faire part.
Merci d'avance pour votre aide.
PS : veuillez excusez les fautes de frape au niveau du code, je n'ai plus le net sur le PC sur lequel je développe, et je n'ai pas de clé USB pour faire un transfère sûr avec un copy/paste comme on les aime si bien![]()
Partager