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] Collection et tag <html:select> [FAQ]


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Par défaut [Struts] Collection et tag <html:select>
    Bonjour,

    Apres avoir chercher et m'etre informer je ne comprend toujours pas comment utiliser ce <tag>, en tout cas dans mon cas.
    J'ai donc deux petites questions :

    1/ En fait j'ai une class nomée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UserParameter
    -idParameter
    -nameParameter
    -valueParameter
    Et j'ai une méthode qui me remplit une Collection d'objet de type UserParameter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    coll.add(userParameter1);
    coll.add(userParameter2);
    coll.add(userParameter2);
    Et je met ma collection dans la Request

    request.setAttribute("BEAN_COLL",coll);

    Ainsi j'aimerai avoir une combo qui me liste les differentes value de mes UserParameter !!

    j'ai essayer un truc comme ca mais ca marche po !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="BEAN_COLL" name="BEAN_COLL">
          		<html:optionsCollection property="idParameter" value="valueParameter" />
       		</html:select>
    2/ Une fois que cette premiere problematique marchera, je me demande comment je peux faire pour initialiser ma combo a une valeur donnée.
    Car en fait cette collection est chargée a partir de la database, mais une fois que l'utilisateur soumettra le formulaire ( ou il y a la liste ) il se peut que je catch des erreurs et que je revienne sur le formulaire. Mais dans ce cas comment je peux positionner a "selected" la valeur que l'utilisateur avait auparavant saisie. ?

    Merci par avance de votre aide

  2. #2
    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
    La syntaxe est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select property="parameterSelected"> 
                <html:optionsCollection property="BEAN_COLL" value="idParameter" label="valueParameter"/> 
    </html:select>
    ceci implique que tu dois définir une méthode getParameterSelected dans ton ActionForm.

    ou bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select property="parameterSelected">
        <html:options collection="BEAN_COLL" property="idParameter" labelProperty="valueParameter"/>
    </html:select>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Par défaut
    c_navy : Avec les deux solutions ca me renvoit :

    Cannot find bean under name org.apache.struts.taglib.html.BEAN

    j'ai bien rajouter la méthode getParameterSelected dans mon formBean

    Alwin ca marche pas non plus !

    Je craque !!!

  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
    Tu as bien mis ton html:select dans un html:form ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Par défaut
    Déja je n'avais pas mis de tag Form car je faisais juste des tests, je pensais pas que s'etait obligatoire.

    J'ai codé l'alimentation de ma collection dans un executeAction qui forward sur la JSP. Apparement j'ai bien ma collection en session ( en request aussi).

    La j'ai plus le meme message d'erreur. j'en ai un autre :

    No getter method available for property parameterSelected for bean under name org.apache.struts.taglib.html.BEAN

    Comme si il trouvait pas mon satané bean ou qu'il en prenait un autre. Car j'ai bien coder les getter setter sur ce FormBean

  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
    La méthode getParameterSelected est bien dans l'ActionForm que tu as référencé dans l'action-mapping de l'action exécutée à la soumission du formulaire ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Par défaut
    Ok ca fonctionne,

    donc j'ai rajouter mon tag form et dans l'attribut action j'ai mis le nom de mon action associé au formBean. Et la sa fontionne !!!

    Un grand merci c_navy je commencais a m'ennerver tt seul !!!

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Dans Struts, tout doit se faire dans une balise Form ainsi, le framework utilise par défaut le bean que tu spécifie dans ton action 'paramètre name="xxxx")

    A partir de là, tous les attributs "name" des tags de struts deviennent optionnels car ils se réfèrent au formBean (la référence name="xxx").

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

Discussions similaires

  1. [Struts 1.3] Problème avec <html:select>
    Par valkeke dans le forum Struts 1
    Réponses: 0
    Dernier message: 04/02/2010, 15h01
  2. [Struts] <Bean:write> dans un <html:select>
    Par damde dans le forum Struts 1
    Réponses: 9
    Dernier message: 24/05/2006, 11h09
  3. [Struts] valeur par defaut de html:select
    Par pmartin8 dans le forum Struts 1
    Réponses: 4
    Dernier message: 03/05/2006, 22h29
  4. [Struts] auto-reload d'un <html:select>
    Par tetram51 dans le forum Struts 1
    Réponses: 5
    Dernier message: 24/04/2006, 14h38
  5. [Struts] preselection ds un html:select ???
    Par FreshVic dans le forum Struts 1
    Réponses: 5
    Dernier message: 10/02/2004, 11h13

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