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: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 <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>Ajout des cle dans le RessourceBundle:
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){ ... }
Et enfin le code concerné de la jsp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 boutton.ajouter=ajouter boutton.supprimer=supprimer boutton.mettreAJour=mettre a jour
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 <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>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.
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)
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.
Partager