Bonjour à tous,

J'ai un SimpleFormController avec comme commandClass , un client. Ma jsp affiche les informations de mon clients ainsi qu'une liste de ses contacts.
On a la possibilité de modifié un contact, si click sur edit, un form apparait avec tous les champs de ce contact.
Lorsque le formulaire est "submit", je veux sauvegarder les modifications de mon contact, mais comme le commandClass est un client et non un contact, je ne peux pas utiliser de Validator

Une partie de mon controlleur :
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
 
	@Override
	protected Object formBackingObject(HttpServletRequest request) throws Exception
	{		
			setSuccessView("client");
			String cliId = request.getParameter("selectedClient");
		//	setValidator(new ContactValidator());
			return clientManager.getObjById(cliId);
	}
 
	@Override
	protected Map<Object, Object> referenceData(HttpServletRequest request,Object command, Errors error) throws Exception {
		Map<Object, Object> dataMap = new HashMap<Object, Object>();
		String pg=request.getParameter("mod");
		String action=request.getParameter("action");
 
                          if("edit".equals(action))
		{
				Contact cont = contManager.getObjById(Long.valueOf(commContId));
				dataMap.put("selectedCont", cont);
				dataMap.put("commcontid",commContId );
		}
		if(pg!=null)
			dataMap.put("pg", "client." + pg + ".inc.jsp");
		else
			dataMap.put("pg", "client.ident.inc.jsp");
		return dataMap;
	}
 
	@Override
	protected ModelAndView onSubmit(HttpServletRequest request,
			HttpServletResponse response, Object command, BindException errors)
			throws Exception {
		Client cli = (Client)command;
 
		if("contact".equals(request.getParameter("pg")))
		{
			Contact cont = new Contact();
			if(!"".equals(request.getParameter("id").trim()))
			{
				Client linkedCli = new Client();
				linkedCli.setId(request.getParameter("id"));
				cont.setCliLink(linkedCli);
			}
			cont.setComcontDescription(request.getParameter("type"));
			cont.setComcontFirstname(request.getParameter("firstname"));
			cont.setComcontLastname(request.getParameter("lastname"));
			cont.setComcontTel(request.getParameter("tel"));
			cont.setComcontMail(request.getParameter("email"));
			cont.setComcontActif(1);
 
			if(!"".equals(request.getParameter("commid")))
			{
				cont.setComcontId(Long.valueOf(request.getParameter("commid")));
				contManager.update(cont);
			}
			else
				contManager.saveObj(cont);
 
			clientManager.refreshClient(cli);
		}
		return showForm(request,response,errors);
	}
Une partie de ma jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<c:if test="${not empty commcontid}">
<div id="manageArea">
	<form:form method="POST" >
		PSN : <input type="text" name="id" id="id" value="${selectedCont.cliLink.id}"/><br/>
		Type : <input type="text" name="type" id="type" value="${selectedCont.comcontDescription}"/><br/>
		Nom : <input type="text" name="firstname" id="firstname" value="${selectedCont.comcontFirstname}"/><br/>
		Prénom : <input type="text" name="lastname" id="lastname" value="${selectedCont.comcontLastname}"/><br/>
		Courriel prof. <input type="text" name="email" id="email" value="${selectedCont.comcontMail}"/><br/>
		Tél prof. <input type="text" name="tel" id="tel" value="${selectedCont.comcontTel}"/><br/>	
		<input type="hidden" name="commid" value="${selectedCont.comcontId}"/>
		<input type="hidden" value="commcont" name="pg"/>
		<input type="hidden" value="${cli.id}" name="selCust"/>
Pourriez-vous me dire comment faire pour pouvoir valider? ou faire ça proprement ?
Merci d'avance