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.