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 :

Utilisation bean:define ?


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut Utilisation bean:define ?
    Bonjour,

    Ca fait déjà plein de fois que je l'utilise et pourtant j'ai toujours les meme problèmes, il y a quelque chose que je ne dois pas avoir bien compris, donc arretez moi la ou je fais erreur^^.

    voila le truc, dans mon action j'ai placé en session une liste d'objets. (je met null en session, si j'ai pas d'objet a mettre dedans, est ce la le problème ?)

    Dans ma JSP, je dois la récupéré afin de pouvoir remplir un select avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:options collection="liste" property="NAME" labelProperty="NAME" />
    Pour la récupérer, il existe différente solutions: bean:define, et jsp:usebean voir une méthode un peu moins propre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% ArrayList liste = session.getAttribute("liste"); pageContext.setAttribute("liste",liste);%>
    Et donc il dans mon cas je voudrais utiliser le bean:define.

    Voila comment je pensais le faire:
    <bean:define id="liste" name="liste" property="NAME"/>


    erreur a la compil:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.servlet.ServletException: Cannot find bean champs_of_item_in_definition in any scope
    Merci 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
    Si tu as codé ceci dans ton Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.setAttribute("liste",liste) ;
    tu peux accèder à ton ArrayList simplement via ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:options collection="liste" property="name" labelProperty="name" />
    Ceci suppose que liste est une ArrayList de beans ayant une propriété name.

    Est-ce bien le cas ?

  3. #3
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut
    oui

  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
    Donc, tu n'as pas à faire un bean:define ou quoi que ce soit d'autre.

    As-tu un message d'erreur ?

  5. #5
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut
    Avec le debugueur je vois bien que la liste est placée en session, enfin dans mon cas, "null".

    Le message d'erreur vient à l'execution de la page jsp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    javax.servlet.jsp.JspException: Cannot find bean under name champs_of_item_in_definition
    	org.apache.struts.taglib.html.OptionsTag.getIterator(OptionsTag.java:368)
    	org.apache.struts.taglib.html.OptionsTag.doEndTag(OptionsTag.java:188)

  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
    Je suppose que champs_of_item_in_definition est la propriété codée dans le tag html:select non ?
    Si c'est le cas, as-tu bien défini cette propriété dans l'ActionForm avec getter et setter ?
    Et as-tu bien mis ton tag html:select dans un tag html:form ?
    L'ActionForm en question est-il bien défini dans le mapping de ton Action dans le struts-config.xml ?

    Enfin, as-tu fait un test avec une ArrayList non null ?

  7. #7
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut
    Citation Envoyé par SrK
    (je met null en session, si j'ai pas d'objet a mettre dedans, est ce la le problème ?)
    J'en étais sur que c'étais pas tres catholique xD

    Bah merci, effectivement il ne me génere plus d'erreur

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

Discussions similaires

  1. <bean:define> pour utiliser <bean:size>
    Par jadey dans le forum Struts 1
    Réponses: 2
    Dernier message: 31/10/2011, 15h58
  2. Réponses: 4
    Dernier message: 15/02/2006, 17h24
  3. [Struts] paramètre JS dans un bean:define
    Par Mrlud dans le forum Struts 1
    Réponses: 4
    Dernier message: 09/06/2005, 14h38
  4. Réponses: 4
    Dernier message: 19/04/2005, 13h42
  5. [Struts]pb de Bean define
    Par tscoops dans le forum Struts 1
    Réponses: 8
    Dernier message: 02/03/2005, 09h12

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