Bonjour à tous,

J'ai vu dans la F.A.Q Struts que, pour gerer plusier bouton submit dans une formulaire sans JavaScript, l'Action associée à ce formulaire devait hériter de "LookupDispatchAction". J'ai suivis les différentes étapes:

Ajout de l'attribut "parameter" dans struts-config.xml pour l'Action concernée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<action
      attribute="gererUnitesForm"
      input="/pages/GererUnites.jsp"
      name="gererUnitesForm"
      parameter="submit"
      path="/gererUnites"
      scope="request"
      type="com.plansactions.struts.action.GererUnitesAction">
      <forward name="succes" path="/pages/GererUnites.jsp" />
      <forward name="selectionChanged" path="/pages/GererUnites.jsp" />
      <forward name="echec" path="/pages/Erreur.jsp" />
    </action>
Faire hériter la classe de l'Action de LookupDispatchAction et ecrire les méthodes nécessaires:
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
protected Map getKeyMethodMap() {
		Map map = new HashMap();
		map.put("boutton.ajouter", "ajouter");
		map.put("boutton.supprimer", "supprimer");
		map.put("boutton.mettreAJour", "mettreAJour");
		return map;
 
	}
 
	public ActionForward ajouter(ActionMapping mapping, ActionForm form, 
		    					HttpServletRequest request, HttpServletResponse response) {
   ...
	}
 
	public ActionForward supprimer(ActionMapping mapping, ActionForm form, 
			HttpServletRequest request, HttpServletResponse response){
   ...
	}
 
	public ActionForward mettreAJour(ActionMapping mapping, ActionForm form, 
			HttpServletRequest request, HttpServletResponse response){
   ...
	}
Ajout des cle dans le RessourceBundle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
boutton.ajouter=ajouter
boutton.supprimer=supprimer
boutton.mettreAJour=mettre a jour
Et enfin le code concerné de la jsp:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<html:submit>
   <bean:message key="boutton.ajouter"/>
</html:submit><BR>
<html:submit>
   <bean:message key="boutton.mettreAJour"/>
</html:submit><BR>
<html:submit>
   <bean:message key="boutton.supprimer"/>
</html:submit><BR>
Aucun probleme lors du deploiement ni de l'affichage de la jsp mais losque je clique sur un des bouton:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
 
exception 
 
javax.servlet.ServletException: Request[/gererUnites] does not contain handler parameter named submit
	org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:199)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
J'ai trouve plusieurs posts sur le forum traitant du sujet mais avec du JavaScript et donc la classe DispatchAction et non la classe LookupDispatchAction.

Quelqu'un aurait-il déjà rencontré le problème et rouvé la solution? Est-ce mon code ou celui de la FAQ qui pose problème?

Merci d'avance pour vos réponses .