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 :

[debutant]Afficher une liste de select


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    Bonjour,

    Je fait un post pour trouver (désepérement) la réponse à cette question :

    J'ai une bean que je souhaite remplir avec une formulaire struts, ce bean contient une liste de Strings...

    Comment remplir une liste de String grace à une suite de select (nombre de select a afficher passé en session) ???

    Merci d'avance ...

    Un débutant désepéré ...

    J'ai tenté avec les indexed="true" mais ca ne semble pas focntionner ...

    une idée ???

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Par défaut
    On peut voir du code ?

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    C'est assez simple comme problème mais la solution me semble moins évidente ...

    Voici le code pour l'instant !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <logic:iterate id="unObjet" name="uneListeDObjets">
    	<tr><td></td><td>
    		<html:select property="monAttributListe" indexed="true">
    		    <html:options collection="uneCollection" property="attribut"/>
    		</html:select>
                    </td> </tr>
    </logic:iterate>
    Je veux juste que la suite de selects introduise des elements dans une liste (un des attributs de mon bean à remplir )

    Au niveau de mon Form.java c'est juste une ArrayList

    Voilà ce qui est généré !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <tr><td></td><td>
    <select name="org.apache.struts.taglib.html.BEAN[0].monAttributListe"><option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select> </td> </tr>
     
    <tr><td></td><td>
    <select name="org.apache.struts.taglib.html.BEAN[1].monAttributListe"><option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>
     </td> </tr>
    En fait il ne rentre pas du tout dans le SETATTRIBUTLISTE de mon form !!!

    Merci d'avance ...

  4. #4
    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
    uneListeDObjets est un tableau de String ou une collection d'objets unObjet ?
    monAttributListe est-il une propriété de unObjet ou seulement une propriété de ton form-bean ?
    uneCollection est un tableau de String ou une collection d'objets ?

    Avec le cas concret, je pense que ce serait plus facile de t'aider...

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut Oui... je sais mais je crois que ca serait pire ...
    J'explique ce que je veux !!!



    J'ai un entier N en session

    Mon bean possède un attribut qui est une liste de Strings ...

    J'ai une liste de valeurs possibles ...

    Dans mon formulaire je dois afficher une suite de selects qui permettent de positionner N Strings (à partir des valeurs possibles) dans l'attribut liste de mon bean ...

    Merci de votre attention... je sais que c'est pas simple mais je n'arrive pas à simplifier mon exemple afin de le rendre compréhensible ...


  6. #6
    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
    Bien que tu ne veuilles pas donner ton code, je vais quand même essayer de t'aider en te donnant un exemple de mise en oeuvre :

    Admettons que tu initialises une liste de choix dans une Action comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ArrayList listeDeChoix = new ArrayList() ;
    listeDeChoix.add("Choix1") ;
    listeDeChoix.add("Choix2") ;
    listeDeChoix.add("Choix3") ;
     
    request.getSession().setAttribute("listeDeChoix",listeDeChoix) ;
    que la liste sur laquelle tu itères soit une liste de beans UnObjet ayant une propriété choix de type String :
    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
    public class UnObjet implements Serializable
    {
    	private String choix ;
     
    	public UnObjet()
    	{
    		this.choix="" ;
    	}
    	public String getChoix() {
    		return choix;
    	}
    	public void setChoix(String choix) {
    		this.choix = choix;
    	}
    }
    que cette liste de beans UnObjet soit une propriété de l'ActionForm et soit mise à jour comme ceci dans l'Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ArrayList listeObjets = new ArrayList() ;
    for (int i=0; i<N ; i++)
    {
       listeObjets.add(new UnObjet()) ;
    }
    UneActionForm uneActionForm = (UneActionForm) form ;
    uneActionForm.setListeObjets(listeObjets) ;
    Le form-bean doit être référencé dans le mapping de l'Action dans le struts-config.xml via l'attribut name="nomDuFormBean" avec validate="false" et scope="session".

    L'ActionForm doit avoir getter et setter sur l'ArrayList et getter et setter indexés sur UnObjet :
    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
    	private ArrayList listeObjets ;
     
    	public ArrayList getListeObjets()
    	{
    		return listeObjets;
    	}
    	public void setListeObjets(ArrayList listeObjets)
    	{
    		this.listeObjets=listeObjets;
    	}
    	public UnObjet getUnObjet(int i)
    	{
    		return (UnObjet) this.listeObjets.get(i) ;
    	}
    	public void setUnObjet(int i,UnObjet unObjet)
    	{
    		this.listeObjets.set(i,unObjet) ;
    	}
    et le code de la jsp sera le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html:form action="pathAction">
    	<logic:iterate name="nomDuFormBean" property="listeObjets" id="unObjet">
    		<html:select name="unObjet" property="choix" indexed="true">
    			<html:options name="listeDeChoix"/>
    		</html:select>
    	</logic:iterate>
    </html:form>
    dans l'Action de path /pathAction, tu pourras récupérer l'ArrayList listeObjets avec les choix sélectés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UneActionForm uneActionForm = (UneActionForm) form ;
     
    ArrayList listeObjets = uneActionForm.getListeObjets() ;
    for (int i=0; i<listeObjets.size();i++)
    {
    	UnObjet unObjet = (UnObjet) listeObjets.get(i) ;
    	String choix=unObjet.getChoix() ;
    }
    A adapter à ton cas.

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

Discussions similaires

  1. Afficher une liste déroulante (:select) avec une ArrayList
    Par tompalmeras dans le forum Struts 2
    Réponses: 3
    Dernier message: 28/04/2008, 21h15
  2. [Debutant] Afficher une List dans une JSF
    Par zaoueche dans le forum JSF
    Réponses: 4
    Dernier message: 23/11/2007, 16h38
  3. afficher une liste deroulante après une selection
    Par zana74 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 04/08/2006, 17h18
  4. Réponses: 2
    Dernier message: 14/10/2005, 12h14
  5. [DEBUTANT] affiche une page web en plein écran
    Par mamouna dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/06/2005, 11h43

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