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 :

[JSP] Select, options avec bean


Sujet :

Struts 1 Java

  1. #1
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut [JSP] Select, options avec bean
    Bonjour,

    Ca fait un bail que je n'ai pas fais de struts et j'ai quelques soucis pour réaliser une select box à partir d'un arrayList contenu dans mon bean de session.

    Pour être plus clair (?) voici comment je m'y suis pris pour le moment :
    Dans mon action d'initialisation de la page :
    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
     
     
    MonBean myMember = (MonBean ) theRequest.getSession().getAttribute(AbstractBean.MON_BEAN);
     
    // --- Fill doctype list
    myMember.getDoctypeList().add("IC");
    myMember.getDoctypeList().add("JA");
    myMember.getDoctypeList().add("CP");
    myMember.getDoctypeList().add("BE");
    myMember.getDoctypeList().add("BA");
    myMember.getDoctypeList().add("CA");
    myMember.getDoctypeList().add("DA");
    myMember.getDoctypeList().add("A");
    myMember.getDoctypeList().add("O");
     
    theRequest.getSession().setAttribute(AbstractBean.MON_BEAN, myMember);
    Le bean contient donc une arrayList disponible via un get public.

    Et dans ma JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <td nowrap>
    <html:select property="docTypeSelected">
    	<html:optionsCollection name="MON_BEAN" value="doctypeList"/>
    </html:select>
    </td>
    Actuellement avec ce code j'ai l'erreur suivante :
    javax.servlet.jsp.JspException: Cannot create iterator for org.***.***.***.***.MonBean @11f91ac
    Vous l'aurez deviné je ne sais plus trop comment utilisé la syntaxe <html:options> avec un tableau situé dans un bean

    Y aurait-il quelqun qui puisse m'aider please ?

    Merci à vous

  2. #2
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    Je rajoute la chose suivante.

    Si je change ma jsp par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:optionsCollection name="MON_BEAN" property="doctypeList"/>
    J'obtiens l'erreur suivante :
    No getter method available for property label for bean under name IC

  3. #3
    Membre actif
    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
    Points : 246
    Points
    246
    Par défaut
    que vaut ta constante AbstractBean.MON_BEAN?

    tu dois créer une liste de type "Collection" qui contienne des "LabelValueBean"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ArrayList maListe=new ArrayList();
    maListe.add(new LabelValueBean("toto","toto"));
    maListe.add(new LabelValueBean("tutu","tutu"));
    maListe.add(new LabelValueBean("titi","titi"));
    puis l'ajouter dans ta requeste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.setAttribute("myList",maListe);
    pour l'utiliser dans ta jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:optionsCollection property="myList" />
    le problème doit venir de là,
    ++

  4. #4
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    Bonjour et grand merci pour avoir résolu mon problème

    J'ai modifié comme tu as dis ma méthode pour remplir ma liste, et rectifié ma jsp comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:optionsCollection name="MON_BEAN" property="doctypeList" />
    Ca fonctionne très bien.

    Pour répondre à ta question, MON_BEAN est un objet java qui me permet de faire la transition entre ce que je prends / affiche dans mon formulaire et ce que j'envoi / réceptionne d'un autre service web.

    Une petite question tout de même, car je ne trouve pas la transformation et l'utilisation de LabelValueBean très pratique... n'y a-t-il pas une autre solution sans transformer mon arrayList ?

    Dans tous les cas encore merci

  5. #5
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Si doctypeList est une simple ArrayList de String, il suffit d'utiliser le tag html:options à la place du html:optionsCollection comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:options name="MON_BEAN" property="doctypeList" />

  6. #6
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    Merci beaucoup pour cette réponse c_nvy.
    J'ai d'ailleurs opté pour cette solution là puisqu'elle me permet de garde ma structure de départ.

    Je garde donc la solution de karement en réserve pour l'avenir

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

Discussions similaires

  1. créer un menu "select/option" avec un tableau JS
    Par supcomingenieur dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/07/2013, 16h06
  2. Réponses: 2
    Dernier message: 21/04/2009, 11h23
  3. Top 3 dans select/option avec removeChild
    Par artxtra dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2007, 19h56
  4. [Struts][JSP] Format avec bean:write
    Par cowa dans le forum Servlets/JSP
    Réponses: 20
    Dernier message: 19/05/2004, 18h16
  5. [struts][JSP][select] problème avec le select
    Par redge_touch dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/01/2004, 10h05

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