IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Liste de champs input []


Sujet :

Struts 1 Java

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut Liste de champs input []
    Bonjour,

    J'aimerais faire en Struts une liste de champs input du type
    monchampsinput[]

    Ainsi, je pourrai avoir x champs name="monchampsinput[]" (dans le code HTML).
    Cela me permettrais d'ajouter des champs de façon dynamique dans ma page.

    Je l'avais fait il y a une époque, mais je ne me souviens plus....

    Je vous remercie d'avance !

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Par défaut
    je te conseil alors d'utiliser la taglib "nested". Tu pourrais même utiliser des collections plutôt qu'un tableau

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut
    Je suis en effet, en train de zieuter sur le <layout:collection>....

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut
    Re

    Je suis en train donc d'utiliser les layout collections...

    Mon formbeans est ainsi:

    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
    17
    18
    19
    20
    21
    22
    //Accès à la liste
     	public ArrayList getL_propositionPhoto() {
    		return l_propositionPhoto;
    	}
     
     	public void setL_propositionPhoto(ArrayList l_propositionPhoto)
     	{
     		this.l_propositionPhoto = l_propositionPhoto;
     	}
     
     	//MAJ des champs de cette liste....
     	public String getCodeHtmlphoto(int index)
     	{
     		return ((PropositionPhoto) this.l_propositionPhoto.get(index)).getCodeHTML() ;
     	}
     
     	public void setCodeHtmlPhoto(int index,String codeHtml)
     	{
     		PropositionPhoto prop = (PropositionPhoto)this.l_propositionPhoto.get(index);
     		prop.setCodeHTML(codeHtml) ;
     		this.l_propositionPhoto.set(index,prop) ;
     		}
    et ma jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    <bean:define id="objectId" name="propositionForm" property="l_propositionPhoto"/>
    <layout:collection name="objectId" id="item">
     
      <layout:collectionItem title="label.none">
    	<layout:textarea name="item" property="codeHtmlPhoto" rows="5" cols="70" layout="false" />
      </layout:collectionItem>
     
    </layout:collection>
    Seulement, cela ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    No getter method available for property codeHtmlPhoto for bean under name item
    Cela est normal, car, rien ne lui dit d'aller chercher le public String getCodeHtmlphoto(int index)... (je pense qu'il cherche à récupérer un getCodeHtmlphoto() tout court...

    Merci pour votre aide

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <layout:collection property="l_propositionPhoto" indexId="index">
     
      <layout:collectionItem title="label.none">
    	<layout:textarea property="l_propositionPhoto[${index}].codeHtmlPhoto" rows="5" cols="70" layout="false" />
      </layout:collectionItem>
     
    </layout:collection>
    et dans ce cas, tu n'as même pas besoin du getter et setter indexé dans l'ActionForm.

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut
    j'essai cela
    En tout cas, rien qu'en voyant cela écris cela me plait plus, car, le nom deu champs sera bien de la forme xxx[]

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut
    C'est parfait ! C'est exactement ce que je voulais

    Merci beaucoup

  8. #8
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    De rien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/07/2010, 10h33
  2. Réponses: 3
    Dernier message: 10/04/2008, 13h50
  3. Liste deroulante et 3 champs input=text ?
    Par isa150183 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/07/2006, 00h08
  4. recuperer valeur liste deroulante + mise a jour champs input
    Par dj_kyl dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/03/2006, 18h42
  5. Liste des champs modifiés avant post
    Par SebCBien dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/02/2004, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo