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 :

[ struts ] select [Débutant(e)]


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut [ struts ] select
    Bonjour j'ai beaucoup de mal a comprendre les html select ou nested select !
    j'aimerai bien que vous m'expliquiez avec mon exemple si possible.

    Voilà j'ai des Rubriques, dans mon actionForm je créer un vecteur de mes rubriques. Et je voudrai que dans ma jsp j'ai une liste deroulante m'affichant la liste des noms de mes rubriques !
    J'espere que vous saurez m'aider merci d'avance

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Exemple: tu veux une liste deroulante de produits: dans ton formulaire tu aura besoin d'un champs de type String nomProduit avec getter/setter, et un champs de type ArrayList : listProduit qui contient la liste des produits;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select name="produitForm" property="nomProduit">
    <html:optionsCollection name="produitForm" property="listProduit" value="listProduit" />
    </html:select>

    voilà en gros coment ça marche ..

  3. #3
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    Oui merci mais si mes produits ont un nom avec getters et setters dans la classe je ne suis pas obligé de definir ça dans mon actionform c'est ça? j'ai juste besoin de definir ma list et de l'initialisé dans mon action form?

    j'ai fait ça pour exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select property="titi">
                    <html:optionsCollection  property="varia" value="varia" />
    </html:select>
    et dans mon actionForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Toto t= new Toto();
    Toto tt= new Toto();
    t.setTiti("titi1");
    tt.setTiti("titi2");
    varia.addElement(t);
    varia.addElement(tt);
    Sachant que ma classe Toto contient un string titi!
    et ça ne marche pas !

  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
    titi étant un attribut de ta classe Toto et varia étant ta collection de beans Toto, il faut coder ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select property="titi">
                    <html:optionsCollection  property="varia" value="titi" />
    </html:select>
    ta collection varia doit être un attribut de ton ActionForm avec getter et setter et titi aussi, de manière à pouvoir récupérer le titi sélecté.

    Pour t'y retrouver, tu devrais prendre des noms de propriétés plus explicites que titi et Toto.

  5. #5
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    J'ai fait comme tu me l'as indiqué et je me retrouve avec cette faute que je ne comprend pas:
    No getter method available for property label for bean under name Global.Toto@456a0c
    (Pour les noms, c'est juste pour un exemple)

  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
    Comment veux-tu que je fasse le lien entre titi et label ?

    Donc si tu me montrais où tu as codé une propriété qui s'appelle label dans ton html:select, ce serait plus simple de t'aider.
    Peut-être utilises-tu un LabelValueBean ?

  7. #7
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    le truc c'est que j'ai rien mi qui s'appelle "label" !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="titi">
                   <html:optionsCollection  property="varia" value="titi" />
    </html:select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private Vector varia = new Vector();
        private String titi ="";
    (getter et setter)
     
     public ActionFormInsererArticle() {
            super();
            Toto t= new Toto();
          Toto tt= new Toto();
          t.setTiti("titi1");
          tt.setTiti("titi2");
          varia.addElement(t);
          varia.addElement(tt);
    }

  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
    Ok, désolée

    Et si tu rajoutes l'attribut label dans le tag html:optionsCollection comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="titi">
                   <html:optionsCollection  property="varia" value="titi" label="titi" />
    </html:select>
    ça donne quoi ?

  9. #9
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    Merci beaucoup beaucoup
    ça marche nikel

  10. #10
    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.

    En fait, en regardant la doc Struts sur l'attribut label du tag html:optionsCollection soit :
    label - The property of the bean within the collection which represents the label to be rendered for each option. Defaults to "label".
    on trouve l'explication au message d'erreur suivant :
    No getter method available for property label for bean under name Global.Toto@456a0c
    Si l'attribut label n'est pas précisé dans le tag html:optionsCollection, par défaut il recherche une propriété qui s'appelle label.

    N'oublie pas le tag

  11. #11
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    C_nvy en fait label c'est ce qu'il y a marqué dans ma liste deroulante?

  12. #12
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    comment faut il faire aussi pour rajouter un id a mon html:select sachant qu'il n'y a pas cette propriété ? ?

  13. #13
    Membre expérimenté
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Par défaut
    l'ID est a preciser dans l'attribut "styleId"

  14. #14
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    Merci bcp

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

Discussions similaires

  1. [struts][select] recuperation valeur
    Par gamel dans le forum Struts 1
    Réponses: 41
    Dernier message: 23/05/2006, 09h14
  2. [ struts ] select
    Par stela86 dans le forum Struts 1
    Réponses: 1
    Dernier message: 28/04/2006, 18h04
  3. [Struts]Select rempli avec un intervalle de nombre
    Par worldchampion57 dans le forum Struts 1
    Réponses: 1
    Dernier message: 13/04/2006, 10h21
  4. [struts] select multiple
    Par meli0207 dans le forum Struts 1
    Réponses: 6
    Dernier message: 20/02/2006, 14h03
  5. [Struts]Select, options & value ...
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 01/07/2004, 10h40

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