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] html:select problème dans l'affichage


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut [Struts] html:select problème dans l'affichage
    Bonjour,
    j'ai un problème concernant l'affichage d'une ArrayList dans une select

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%
      java.util.ArrayList list = new java.util.ArrayList();
      list.add(new LabelValueBean("Skin1", "skin1"));
      list.add(new LabelValueBean("Skin2", "skin2"));
      list.add(new LabelValueBean("Skin3", "skin3"));
     
     
      request.setAttribute("skins", list);
    %>
        <html:form action="/Redirect.do">
        <html:select property="skins"  multiple="false">
        <html:options collection="skins" property="value" labelProperty="label" labelName="label"/>    
        </html:select>
    et voici l'erreur que jobtiens :

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

    quelqun pourrait m'aider please

  2. #2
    Membre régulier Avatar de gamel
    Inscrit en
    Avril 2006
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 128
    Points : 107
    Points
    107
    Par défaut
    Bonjour,

    il me semble que lorsque tu utilises des beans, il faut implémenter les getters/setters correspondants aux attributs de ton bean ...

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonjour,

    et ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:select name="skins"  multiple="false">
    ?

    Eric

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut LabelValueBean
    ben je sais justement le problème cest que jutilise une LabelValueBean pour chaque objet du tableau et cest un javabean donc elle a un setter et un getter

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    peux tu nous donner le code de ton formulaire associé s'il te plait??

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut problème struts
    qd je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:select property="skins"  multiple="false"/>

    jobtiens lerreur : Cannot find bean under name org.apache.struts.taglib.html.BEAN'

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut problème struts
    qd je met la select dans un formulaire comme ci dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <%
     
        java.util.ArrayList list = new java.util.ArrayList();
        list.add(new LabelValueBean("Skin1", "skin1"));
        list.add(new LabelValueBean("Skin2", "skin2"));
        list.add(new LabelValueBean("Skin3", "skin3"));
     
        request.setAttribute("skins", list);
       %>
    <html:form action="Redirect.do">
        <html:select property="skins"  multiple="false">
        <html:options collection="skins" property="value" labelProperty="label"/>    
        </html:select>
    </html:form>
    jobtiens lerreur suivante :

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

  8. #8
    Membre régulier Avatar de gamel
    Inscrit en
    Avril 2006
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 128
    Points : 107
    Points
    107
    Par défaut
    Il est nécessaire de définir une classe (ie MyFormBean) qui étend ActionForm ou les getters/setters sont déclarés, et une autre classe (ie MyFormAction). Est ce que tu l'as fait ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut problème struts
    suis obligé de mettre mon select dans une balise form?

  10. #10
    Membre régulier Avatar de gamel
    Inscrit en
    Avril 2006
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 128
    Points : 107
    Points
    107
    Par défaut
    A priori si tu veux un formulaire, c'est plutot conseillé.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut problème struts
    ça veut dire que dans ma classe RedirectForm(correspondant à mon formulaire), il faut que j'ai une propriété qui sappelle skins en fait avec un set et un get?
    jessaye

  12. #12
    Membre régulier Avatar de gamel
    Inscrit en
    Avril 2006
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 128
    Points : 107
    Points
    107
    Par défaut
    non ... dans ta classe RedirectBean!

  13. #13
    Membre régulier Avatar de gamel
    Inscrit en
    Avril 2006
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 128
    Points : 107
    Points
    107
    Par défaut
    Logiquement tu dois avaoir un attribut skin et le getter/setter dans ta classe RedirectBean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    import org.apache.struts.action.*;
    import javax.servlet.http.HttpServletRequest;
     
    public class RedirectBean extends ActionForm {
     
    String skins;
     
    public String get_skins()...
    public void set_skins()...

    Désolé pour le double post ...

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut merki
    merci beaucoup cétait ça
    j'ai rajouté la propriété dans le bean RedirectForm

    par contre maintenant jessaye de faire un submit sur changement dans la select (avec du javascript) et j'obtiens lerreur suivante :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    javax.servlet.ServletException: BeanUtils.populate
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    cause mère 
    java.lang.IllegalArgumentException: argument type mismatch
    	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	java.lang.reflect.Method.invoke(Method.java:585)
    	org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
    	org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
    	org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
    	org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
    	org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

  15. #15
    Membre régulier Avatar de gamel
    Inscrit en
    Avril 2006
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 128
    Points : 107
    Points
    107
    Par défaut
    Je ne saurais te dire comment il faut faire, je ne connais pas trop javascript ...
    Si t'as la solution, ca m'interesse

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut problème struts
    jai trouvé lerreur, en fait la valeur de l'attribut property du <html:select> est un String elle est donc différente de la valeur de lattribut collection de <html:options>

  17. #17
    Membre régulier Avatar de 17mounir
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2005
    Messages : 101
    Points : 78
    Points
    78
    Par défaut
    peut tu envoyer stp le code corrigé, ça m'interesse bien !

    Merci

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut code corrigé
    voici mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html:form action="Redirect.do">
                    <html:select property="periode"
                    onchange="document.forms[1].submit();">
                    <html:options collection="cliquetPeriodes" labelProperty="value"
                        property="label" />
                    </html:select>
                    <html:hidden property="cle" value="tableref" />
                    <html:hidden property="ref" value="REF041" />
     </html:form>
    dans ma classe RedirectAction periode est une propriétés de type String et cliquetPeriodes de type Vecteur

Discussions similaires

  1. problème dans l'affichage sur word (VB6)
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/11/2005, 12h40
  2. Requête SELECT problème dans les résultats trouvés ...
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/10/2005, 12h46
  3. [struts]html:select
    Par steffy_29 dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/09/2005, 15h37
  4. Réponses: 2
    Dernier message: 14/09/2005, 13h39
  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