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-Layout] Pb utilisation DataGrid


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 25
    Points : 22
    Points
    22
    Par défaut [Struts-Layout] Pb utilisation DataGrid
    Bonjour à vous. Je viens à vous car je suis désespéré... je n'arrive pas à solutionner mon problème. Je pense avoir fait tous les forums anglais et français en vain... j'ai l'impression que je suis le seul à avoir ce problème... je vous arrête de suite j'ai bien initialisé mon datagrid dans mon form et j'ai bien initialiser les objets qui composent ma liste (erreurs fréquentes)...
    J'ai essayé en mettant directement des valeurs depuis l'action dans mon datagrid ou en mettant les valeurs par la jsp. J'ai toujours le même problème
    A l'affichage je n'ai pas de souci c'est lorsque je soumets une action. J'ai l'impression que le datagrid est mal initialisé mais je n'arrive pas à savoir où... je me demande même si ce n'est pas du paramétrage... mais où ?
    Je n'ai pas ce problème si ma liste est vide. C'est uniquement lorsque j'ai au moins une donnée dans la liste.... Alors pouvez vous m'aider ? car moi je sèche... je n'ai vraiment plus d'idée.

    Ci-dessous la log complète
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    <javax.servlet.ServletException: BeanUtils.populate>javax.servlet.ServletException: BeanUtils.populate
    	at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
    	at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    	at com.inetpsa.fwk.struts.action.FWKLayoutRequestProcessor.parentProcess(FWKLayoutRequestProcessor.java:210)
    	at com.inetpsa.fwk.struts.action.FWKRequestProcessorWrapper.process(FWKRequestProcessorWrapper.java:592)
    	at com.inetpsa.fwk.struts.action.FWKLayoutRequestProcessor.process(FWKLayoutRequestProcessor.java:83)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.inetpsa.r06.utils.EncodingFilter.doFilter(EncodingFilter.java:26)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.IllegalArgumentException: No bean specified
    	at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:751)
    	at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:937)
    	at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
    	at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
    	at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
    	... 30 more
    20:03:27,846 ERROR [[FwkAction]] "Servlet.service()" pour la servlet FwkAction a généré une exception
    java.lang.IllegalArgumentException: No bean specified
    	at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:751)
    	at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:937)
    	at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
    	at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
    	at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
    	at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    	at com.inetpsa.fwk.struts.action.FWKLayoutRequestProcessor.parentProcess(FWKLayoutRequestProcessor.java:210)
    	at com.inetpsa.fwk.struts.action.FWKRequestProcessorWrapper.process(FWKRequestProcessorWrapper.java:592)
    	at com.inetpsa.fwk.struts.action.FWKLayoutRequestProcessor.process(FWKLayoutRequestProcessor.java:83)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.inetpsa.r06.utils.EncodingFilter.doFilter(EncodingFilter.java:26)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    	at java.lang.Thread.run(Unknown Source)
    L'initialisation de mon datagrid dans mon form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    donneePersoDescriptionTech_souhaitee 	= Datagrid.getInstance(); 
    donneePersoDescriptionTech_souhaitee.setData(new ArrayList());
    donneePersoDescriptionTech_souhaitee.setDataClass(DonneePersoDescriptionTech.class);
    L'alimentation depuis mon action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ArrayList liste = new ArrayList();
    DonneePersoDescriptionTech option = new DonneePersoDescriptionTech("OptS1");
    liste.add(option);
    demandeForm.getDonneePersoDescriptionTech_souhaitee().setData(liste);
    L'extrait de ma JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <layout:line space="false">
      <layout:datagrid property="donneePersoDescriptionTech_souhaitee" styleClass="DATAGRID" model="datagrid">
    	<layout:datagridColumn title="demande.vide" width="7" property="donneesPersonalisationDemande_ADP_DAO.codeoption"/>
      </layout:datagrid>
    </layout:line>
    <layout:line space="false">
      <layout:row>
    	<layout:button onclick="StrutsLayout.addDatagridLine('donneePersoDescriptionTech_souhaitee')"><layout:message key="r06.ajoutercourt"/></layout:button>
    	<layout:button onclick="StrutsLayout.setDatagridLineState('donneePersoDescriptionTech_souhaitee', 'removed')"><layout:message key="r06.supprimercourt"/></layout:button>
      </layout:row>
    </layout:line>
    Si vous avez la moindre piste, n'hésitez pas. Merci.

  2. #2
    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
    Peux-tu faire un test en supprimant l'initialisation du Datagrid de l'ActionForm et en la mettant plutôt dans l'Action comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ArrayList liste = new ArrayList();
    DonneePersoDescriptionTech option = new DonneePersoDescriptionTech("OptS1");
    liste.add(option);
     
    Datagrid donneePersoDescriptionTech_souhaitee=Datagrid.getInstance(); 
    donneePersoDescriptionTech_souhaitee.setDataClass(DonneePersoDescriptionTech.class);
    donneePersoDescriptionTech_souhaitee().setData(liste);
     
    demandeForm.setDonneePersoDescriptionTech_souhaitee(donneePersoDescriptionTech_souhaitee);

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Peux-tu faire un test en supprimant l'initialisation du Datagrid de l'ActionForm et en la mettant plutôt dans l'Action comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ArrayList liste = new ArrayList();
    DonneePersoDescriptionTech option = new DonneePersoDescriptionTech("OptS1");
    liste.add(option);
     
    Datagrid donneePersoDescriptionTech_souhaitee=Datagrid.getInstance(); 
    donneePersoDescriptionTech_souhaitee.setDataClass(DonneePersoDescriptionTech.class);
    donneePersoDescriptionTech_souhaitee().setData(liste);
     
    demandeForm.setDonneePersoDescriptionTech_souhaitee(donneePersoDescriptionTech_souhaitee);
    Merci pour ta réponse. Donc j'ai fait la modification que tu m'as donné et cela ne marche toujours pas. J'ai le même message d'erreur... je désespère...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ArrayList liste = new ArrayList();
    DonneePersoDescriptionTech option = new DonneePersoDescriptionTech("OptS1");
    liste.add(option);
    Datagrid donneePersoDescriptionTech_souhaitee = Datagrid.getInstance(); 
    donneePersoDescriptionTech_souhaitee.setDataClass(DonneePersoDescriptionTech.class);
    donneePersoDescriptionTech_souhaitee.setData(liste);
    demandeForm.setDonneePersoDescriptionTech_souhaitee(donneePersoDescriptionTech_souhaitee);

  4. #4
    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
    En fait, je n'avais pas fait attention mais le problème que tu rencontres est le même que celui dont il est question dans cette discussion.

    Ton objet DonneePersoDescriptionTech a une propriété qui est un objet complexe, soit celui que tu as référencé sous le nom donneesPersonalisationDemande_ADP_DAO dans la jsp.
    Et jusqu'à présent malheureusement, on n'a pas trouvé le moyen sur le forum de faire fonctionner une mise à jour de Datagrid contenant des objets composés d'autres objets.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 25
    Points : 22
    Points
    22
    Par défaut Merci c_nvy
    Si j'avais vu ce message, je ne t'aurais pas embêté... J'ai simplifié mon objet pour ne pas mettre d'objet dans un objet (dans mon cas, je pouvais le faire). Cela m'ajoute une méthode dans l'action, mais ce n'est pas grave l'essentiel c'est que cela marche... Merci beaucoup. Cela fait plusieurs fois que tu m'aides. C'est vraiment très sympa de ta part.
    Bonne jorunée

  6. #6
    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
    De rien

    J'aurais bien aimé trouver une solution pour que cela fonctionne avec un objet composé d'un autre objet.
    J'y avais passé un peu de temps à l'époque de la discussion que je t'ai indiqué mais malheureusement, sans succès.
    Enfin, si un jour quelqu'un trouve la solution, si toutefois il y en a une, qu'il le dise.

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 28/04/2009, 13h40
  2. [Struts-Layout] liste dans datagrid
    Par khaoula_14_05 dans le forum Struts 1
    Réponses: 3
    Dernier message: 03/12/2008, 10h08
  3. [Struts-Layout] pager et datagrid
    Par ultramkachekh dans le forum Struts 1
    Réponses: 1
    Dernier message: 09/05/2008, 18h07
  4. [Struts-Layout] Problème avec Datagrid
    Par Le Pharaon dans le forum Struts 1
    Réponses: 15
    Dernier message: 25/07/2007, 14h13
  5. [Struts-Layout] Comment utiliser collectionInput
    Par spidereck dans le forum Struts 1
    Réponses: 12
    Dernier message: 14/05/2007, 21h31

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