Salut
je veux utiliser LookupDispatchAction j'ai donc une sub-classe :

Code java : 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
public class TestClass extends LookupDispatchAction {
 
    @Override
    protected Map getKeyMethodMap() {
        Map map = new HashMap();
        map.put("fct.add","add");
        map.put("fct.edit","edit");
        return map;
    }
 
    public ActionForward add(ActionMapping arg0, ActionForm arg1, ServletRequest arg2, ServletResponse arg3) throws Exception {
        return arg0.findForward("testFin");
    }
 
    public ActionForward edit(ActionMapping arg0, ActionForm arg1, ServletRequest arg2, ServletResponse arg3) throws Exception {
        return arg0.findForward("testFin");
    }
 
}

mes action :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<action path="/test" parameter="fct" type="test1.TestClass" name="TestForm" input="page1.jsp" validate="false" scope="request">
            <forward name="testFin" path="/testFinOk.do"/>
        </action>
        <action path="/testFinOk" forward="/resultat.jsp"/>

et le formulaire :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<html:form action="/test">
   <html:text property="nom" size="20"/>
   <html:submit property="fct">
      <bean:message key="fct.add"/>
   </html:submit>
   <html:submit property="fct">
      <bean:message key="fct.edit"/>
   </html:submit>
</html:form>

en cliquant sur le boutton add ou edit j'ai le message d'erreur suivant:
javax.servlet.ServletException: java.lang.NoSuchMethodException: Action[/test] does not contain specified method (check logs)
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

java.lang.NoSuchMethodException: Action[/test] does not contain specified method (check logs)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:264)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:150)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
j'ai suivi la FAQ pour faire cela


merci pour votre aide