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****************************
******struts-config.xml********************
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>
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.
Partager