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 BeanUtils.populate error] Passage deString a Date


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Par défaut [struts BeanUtils.populate error] Passage deString a Date
    Bonjour, je developpe une application struts.
    J'ai un formulaire qui prends en entrée une date. J'ai une ActionForm correspondant.
    Mon souci et que dans mon objet ActionForm la date est de type java.util.Date et dans le formulaire Http de type String.
    J'ai alors surcharger la méthode setDate de mon formulaire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
        public void setDateSortie (java.util.Date dateSortie) {
            this.dateSortie = dateSortie;
        }
     
        public void setDateSortie(String date) {
            this.dateSortie = DateUtils.convertStringToDate(date);
        }
    Tomcat me retourne cette erreur losrque que je submit mon formulaire :
    Citation Envoyé par tomcat
    javax.servlet.ServletException: BeanUtils.populate
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    cause mère
    java.lang.IllegalArgumentException: Cannot invoke fr.planning.base.BaseCollaborateur.setDateSortie - argument type mismatch
    org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
    org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
    org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
    org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
    org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
    org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
    org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Il parviens pas a appeler la bonne méthode?
    Avec le debuggage j'arrive pas avoir ou passe le programme quand je submit, j'ai l'impression qu'il plante avant... mais ou?

    Merci pour votre aide.

  2. #2
    Membre éclairé Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Par défaut
    La methode avec comme parametre String devrai etre appelé pourtant le message est clair, il y a un probleme de type de parametre, je comprends pas????

  3. #3
    Membre éclairé Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Par défaut
    personne?

  4. #4
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    POurrai tu me montrer ta jsp stp?

  5. #5
    Membre éclairé Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Par défaut
    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
    <%@ page language="java" %>
    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
     
     
        <layout:form action="saveCollaborateur.do" type="fr.planning.Collaborateur">
            <layout:panel styleClass="FORM" key="Ajouter un Collaborateur" >    
     
                <layout:cell><b>
                    <layout:write property="nom" />
                    <layout:write property="prenom" />
                </b></layout:cell>
     
                            <layout:text key="Nom : " style="align:left;" property="nom" styleClass="LABEL" />                                
     
                            <layout:cell />
     
                            <layout:text key="Prenom : " property="prenom" styleClass="LABEL" />
     
                            <layout:cell />
     
                            <layout:cell />
                                <layout:radios key="Situation : " styleClass="LABEL" property="situation.id">
     
                                    <layout:options collection="situations" name="situations" property="id" labelName="situations" labelProperty="libelle" />                        
     
                                </layout:radios>                    
     
     
                        <layout:select key="March&eacute : " styleClass="LABEL" property="marche.id">
                            <layout:option value="0" key="Aucun marché" />
                            <layout:options collection="marches" name="marches" property="id" labelName="marches" labelProperty="libelle" />                        
                        </layout:select>
     
     
                        <layout:select key="Fonction : " styleClass="LABEL" property="fonction.id">
                            <layout:option value="0" key="Aucune fonction" />
                            <layout:options collection="fonctions" name="fonctions" property="id" labelName="fonctions" labelProperty="libelle" />                        
                        </layout:select>
     
                        <layout:cell />
     
                        <layout:cell />
     
                            <layout:date key="Date d'entree : " property="dateEntree" styleClass="LABEL" patternKey="dd/MM/yyyy" mode="E,E,E" />
     
                        <layout:cell />
     
                        <layout:cell />
     
                        <layout:cell />
                            <layout:date key="Date de sortie : " property="dateSortie" styleClass="LABEL" startYear="<%= String.valueOf(java.util.Calendar.getInstance().get(java.util.Calendar.YEAR) - 20) %>" endYear="<%= String.valueOf(java.util.Calendar.getInstance().get(java.util.Calendar.YEAR) + 30) %>" mode="E,E,E" />        
                        <layout:cell />
     
                        <layout:date key="Date dispo : " property="dateDisponibilite" size="20" maxlength="10" styleClass="LABEL" startYear="<%= String.valueOf(java.util.Calendar.getInstance().get(java.util.Calendar.YEAR) - 20) %>" endYear="<%= String.valueOf(java.util.Calendar.getInstance().get(java.util.Calendar.YEAR) + 30) %>" patternKey="dd/MM/yyyy" />    
     
                        <layout:cell />
     
                        <layout:cell />
     
                        <layout:cell />
     
     
                            <layout:select key="Essai : " styleClass="LABEL" property="periodeEssai">
     
                                <layout:option value="0"/>
                                <layout:option value="1"/>
                                <layout:option value="2"/>
                                <layout:option value="3"/>
                                <layout:option value="4"/>
                                <layout:option value="5"/>
                                <layout:option value="6"/>
     
                            </layout:select> 
     
     
     
                        <layout:cell />
     
                        <layout:cell />
                        <layout:select key="Statut : " styleClass="LABEL" property="statut.id">
     
                            <layout:options collection="statuts" name="statuts" property="id" labelName="statuts" labelProperty="libelle" />
     
                        </layout:select>
     
                        <layout:cell />
     
                <layout:cell>            
                    <layout:button value="Annuler" onclick="document.location.href='collaborateur.do'" />
                    <layout:button value="Enregistrer" onclick="javascript:confirmationAjoutCollaborateur();"/>
     
                </layout:cell>
     
     
     
                </layout:panel>
     
            </layout:form>

    Je precise que le javascript de layout pour la date ne fonctionne pas... j'ai encode un souci avec, je rentre la date au bon format.
    Merci

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    salut,

    Une méthode 'setter', n'est pas faite pour etre surchargée.. ( Cannot invoke fr.planning.base.BaseCollaborateur.setDateSortie - argument type mismatch) il ne trouve pas la bonne méthode avec les parametres attendus..

    le mieux est d'utiliser le type String dans ton formulaire, ensuite, lors de l'utilisation de ta date, (dans un bean normalement) la convertir en type Date..

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

Discussions similaires

  1. [Struts 1.3.5] BeanUtils.populate
    Par DomIII dans le forum Struts 1
    Réponses: 17
    Dernier message: 07/12/2010, 10h37
  2. [struts] BeanUtils.populate
    Par otminou dans le forum Struts 1
    Réponses: 4
    Dernier message: 23/09/2007, 18h27
  3. [Struts]Bean populate & array index out of bound
    Par djoukit dans le forum Struts 1
    Réponses: 7
    Dernier message: 02/11/2006, 11h03
  4. [ struts ] "BeanUtils.populate"
    Par stela86 dans le forum Struts 1
    Réponses: 4
    Dernier message: 20/05/2006, 12h27
  5. [Struts][Tomcat ] HTTP 500 - BeanUtils.populate (Eclipse)
    Par pjfly dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 10/04/2004, 10h03

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