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 :

Problème de bean populate dans un formulaire


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut Problème de bean populate dans un formulaire
    Bonjour,

    J'ai un petit soucis....

    J'ai créé un formulaire en struts.
    le but de ce form est de permettre de répondre à une demande.

    J'ai créé un bean "reponseForm" avec ces champs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public String reponse;
    public Demande dem;
    L'objet Demande contient ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public String question
    avec les getters et le setters bien sur....

    Dans une première partie du formulaire, je fais afficher à l'écran la question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <layout:text name="reponseForm" property="demande.question" key="label.demande" mode="I,I,I"/>
    Puis, je laisse la possibilité de répondre à la question ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		<layout:textarea name="reponseForm" property="reponse" key="label.reponse" rows="10" cols="50" mode="E,E,I"></layout:textarea>
    Lorsque j'affiche ce formulaire, aucun soucis !
    Le problème est quand je veux soumettre ce formulaire.
    En effet, j'ai alors l'erreur 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
     
    exception
     
    javax.servlet.ServletException: BeanUtils.populate
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:497)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
    cause mère
     
    java.lang.IllegalArgumentException: No bean specified
    	org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor(PropertyUtils.java:837)
    	org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:934)
    	org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    Je précise que le problème vient bien du champs demande.question, car quand je le supprime, je n'ai plus de soucis
    Merci de votre aide !

  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
    reponseForm est-il dans le scope session ?

  3. #3
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    merci de ta réponse.
    Alors en fait, ReponseForm est dans le scope "request"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     
    <action type="action.reponse"
    		input="/jsp/reponse.jsp"
    		name="reponseForm"
    		path="/repondre"
    		scope="request" />

  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
    Alors mets le dans le scope session. ça devrait mieux fonctionner.

  5. #5
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    je vais essayer cela

    Mais en le mettant dans le request, cela ne peut pas fonctionner ?
    Car là, le prob vient de l'objet demande dans le ben réponse. Les "types classiques" (comme le String) ne pose pas problème.

    C'est curieux

  6. #6
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    Alors, en le mettant dans la session, j'ai un léger mieux.
    Sauf que j'ai comme erreur ceci maintenant
    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
    javax.servlet.ServletException: BeanUtils.populate
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:497)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
    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:495)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Bon, le prob est que je vois pas quel l'argument qui n'a pas le bon type...
    Je vais les vérifier un par un (car j'ai rajouté des champs)

  7. #7
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    Bon, j'ai trouvé, c'est un champs date qui chiait

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/07/2008, 03h47
  2. problème avec deux submit dans un formulaire
    Par lolita2008 dans le forum Struts 1
    Réponses: 1
    Dernier message: 30/04/2008, 16h51
  3. Réponses: 5
    Dernier message: 23/04/2008, 11h53
  4. Problème avec un bouton dans un formulaire
    Par mademoizel dans le forum Langage
    Réponses: 1
    Dernier message: 06/01/2008, 12h51
  5. Réponses: 6
    Dernier message: 15/02/2006, 14h02

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