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] exception submitter des select [FAQ]


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 31
    Par défaut [Struts] exception submitter des select
    bonjour ts le monde,
    premièrement je travaille en struts.
    j'ai un pb lorsque je submitte trois listes (html:select). j'envoye ts les éléments des trois listes en séléctionnant ts leurs éléments.
    il m'affiche l'exception suivante:

    javax.servlet.ServletException: BeanUtils.populate

    dont la cause mère est:

    java.lang.IllegalArgumentException: argument type mismatch

    à noter que je met au début de ma classe Action un System.out.println, mais il n'affiche rien ds la console, c'est à dire qu'il n'arrive meme pas à débuter l'execution de notre action.

    ****JSP****************************
    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
    <html:form action="/valider" name="clientsForm" type="com.hps.struts.form.ClientsForm">
    <p><strong><em>Liste des clients choisis:</em></strong></p>
    <table width="75%" border="0">
    <tr align="center">
    <td><strong>Client Code</strong></td>
    <td><strong>Family Name</strong></td>
    <td><strong>First Name</strong></td>
    </tr>
    <tr align="center"> 
    <td><html:select property="clientCode" multiple="true" onchange="SelectOthers(0,1,2,2)
    ,SelectAll(document.forms[2].elements[0])
    ,SelectAll(document.forms[2].elements[1])
    ,SelectAll(document.forms[2].elements[2])">
    </html:select></td>
    <td><html:select property="familyName" multiple="true" onchange="SelectOthers(1,0,2,2)
    ,SelectAll(document.forms[2].elements[0])
    ,SelectAll(document.forms[2].elements[1])
    ,SelectAll(document.forms[2].elements[2])">
    </html:select></td>
    <td><html:select property="firstName" multiple="true" onchange="SelectOthers(2,0,1,2)
    ,SelectAll(document.forms[2].elements[0])
    ,SelectAll(document.forms[2].elements[1])
    ,SelectAll(document.forms[2].elements[2])">
    </html:select></td>
    </tr>
    </table>
    <p>
    <html:submit value="OK" property="valider"/>
    </p>
    </html:form>
    ******struts-config.xml********************
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <action
    attribute="clientsForm"
    input="/clients.jsp"
    name="clientsForm"
    path="/valider"
    scope="request"
    type="com.hps.struts.action.ValiderClientsAction">
    <forward name="success" path="/cartes.jsp" />
    <forward name="failure" path="/clients.jsp" />
    </action>

    *******execute de l'action******************
    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
    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) {
    System.out.println("1111111");
    ClientsForm clientsForm=(ClientsForm) form;
    if(clientsForm==null) System.out.println("stooooop");
    Vector clientCode=clientsForm.getClientCode();
    Vector familyName=clientsForm.getFamilyName();
    Vector firstName=clientsForm.getFirstName();
    Vector clients=new Vector();
    try{
    Iterator it2=familyName.iterator();
    Iterator it3=firstName.iterator();
    for(Iterator it1=clientCode.iterator();it1.hasNext();){
    String cc=(String) it1.next();
    String famName=(String) it2.next();
    String firName=(String) it3.next();
    Client client=new Client();
    client.setClientCode(cc);
    client.setFamilyName(famName);
    client.setFirstName(firName);
    clients.add(client);
    }
    }catch(Exception ex){
    ex.printStackTrace();
    }
    System.out.println("222222222");
    Vector cartes=Clients.getCartes(clients);
    request.setAttribute("clients",clients);
    request.setAttribute("cartes",cartes);
    return mapping.findForward("success");
    }

    lors de l'exécution il n'affiche pas: 11111111

    Merci pour tout que m'a donné une idée pr résoudre ce pb qui m'a vraiment trop dérangé.
    Merci.

  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
    Peux-tu nous donner le code de ton ActionForm ClientsForm ?

  3. #3
    Membre averti
    Inscrit en
    Août 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 31
    Par défaut
    la classe ClientsForm:

    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
     public class ClientsForm extends ActionForm {
     // --------------------------------------------------------- Instance Variables
     /** clientCode property */
     private Vector clientCode;
     /** familyName property */
     private Vector familyName;
     /** firstName property */
     private Vector firstName;
     // --------------------------------------------------------- Methods
     /** 
      * Method validate
      * @param mapping
      * @param request
      * @return ActionErrors
      */
     public ActionErrors validate(
      ActionMapping mapping,
      HttpServletRequest request) {
      // TODO Auto-generated method stub
      return null;
     }
     /** 
      * Method reset
      * @param mapping
      * @param request
      */
     public void reset(ActionMapping mapping, HttpServletRequest request) {
      // TODO Auto-generated method stub
     }
     /** 
      * Returns the clientCode.
      * @return Vector
      */
     public Vector getClientCode() {
      return clientCode;
     }
     /** 
      * Set the clientCode.
      * @param clientCode The clientCode to set
      */
     public void setClientCode(Vector clientCode) {
      this.clientCode = clientCode;
     }
     /** 
      * Returns the familyName.
      * @return Vector
      */
     public Vector getFamilyName() {
      return familyName;
     }
     /** 
      * Set the familyName.
      * @param familyName The familyName to set
      */
     public void setFamilyName(Vector familyName) {
      this.familyName = familyName;
     }
     /** 
      * Returns the firstName.
      * @return Vector
      */
     public Vector getFirstName() {
      return firstName;
     }
     /** 
      * Set the firstName.
      * @param firstName The firstName to set
      */
     public void setFirstName(Vector firstName) {
      this.firstName = firstName;
     }
    }

  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
    Ton ActionForm semble correcte mais je ne comprends pas ceci :
    Citation Envoyé par enimiste
    j'ai un pb lorsque je submitte trois listes (html:select). j'envoye ts les éléments des trois listes en séléctionnant ts leurs éléments.

  5. #5
    Membre averti
    Inscrit en
    Août 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 31
    Par défaut
    à l'aide des fonctions javascript SelectAll et SelectOthers, lorsque je sélectionne un item d'un select ts les items des trois select, dont les property sont respectivement clientCode, familyName et firstName, seront sélectionnés. donc losque je submitte ts ces éléments s'envoyent.
    et j'aurais l'exception précité.
    j'espère que ça soit clair maintenant.Merci

  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
    En fait, après vérification, tes propriétés clientCode, familyName et firstName doivent être déclarées comme String[] et non Vector dans ton ActionForm.

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

Discussions similaires

  1. Gestion des Exceptions pour un SELECT
    Par BobDesign dans le forum PL/SQL
    Réponses: 14
    Dernier message: 06/03/2009, 16h11
  2. Gestion des Exceptions pour un SELECT
    Par BobDesign dans le forum SQL
    Réponses: 2
    Dernier message: 06/03/2009, 16h05
  3. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 20h58
  4. [struts][Datasource]Gestion des erreurs
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/09/2004, 16h51
  5. [STRUTS] Problème avec des ActionForm
    Par zarbydigital dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/03/2004, 13h49

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