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 éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    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 éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    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 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
    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 éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    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 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
    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 éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    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