je voulais appliquer la methode décrite dans faq de struts,qui est la suivante:
Comment factoriser plusieurs actions réalisables sans JavaScript ? : Le LookupDispatchAction
pour cela j'ai fait une page jsp qui contient deux bouton,une action qui m'indique sur quel bouton j'ai clicke.
bref,voila mon struts-config.xml:
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
<struts-config>
 
 <data-sources/>
 
 <form-beans>
 
  <form-bean name="TestBean" type="Bean.TestBean"/>
 
 </form-beans>
 
 <global-exceptions/>
 
 <global-forwards>
 
  <forward name="start" path="/pages/entrer.jsp"/>
 
 </global-forwards>
 
 <action-mappings>
 
  <action name="TestBean" parameter="submit" path="/test"
 
   scope="request" type="Action.TestAction">
 
   <forward name="goto_resultat" path="/pages/resultat.jsp"/>
 
  </action>
 
 </action-mappings>
 
 <controller/>
 
</struts-config>
pour ma page entrer.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
31
32
33
34
35
36
37
38
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
 
 
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
<html:html>
 
<head>
 
<title>Document sans titre</title>
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
</head>
 
 
 
<body>
 
<p>Clicker sur un Boutton pour voir le message qui s'affichera sur la console et sur la page resultat.jsp:</p>
 
<p>&nbsp; </p>
<html:form action="/test.do" >
<html:submit >
<bean:message key="button.add" />
</html:submit >
<html:submit >
<bean:message key="button.delete" />
</html:submit >
</html:form>
 
 
</body>
 
</html:html>
enfin pour l'action TestAction:

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
package Action;
 
import java.io.*;
import java.util.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.util.MessageResources;
import org.apache.struts.actions.*;
public  class TestAction extends LookupDispatchAction {
 
    // Global Forwards
    public static final String GLOBAL_FORWARD_start = "start";
 
    // Local Forwards
    private static final String FORWARD_goto_resultat = "goto_resultat";
 
 
 
protected Map getKeyMethodMap() 
{
   Map map = new HashMap();
   map.put("button.add", "add");
   map.put("button.delete", "delete");
  return map;
}
 
public ActionForward add(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) 
  throws IOException, ServletException 
  { 
  System.out.println("click sur le bouton add");
   return mapping.findForward(FORWARD_goto_resultat);
   }
public ActionForward delete(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) 
  throws IOException, ServletException
   { 
   System.out.println("click sur le bouton delete");
   return mapping.findForward(FORWARD_goto_resultat);
    }
 
}
mon programme se compile mais au lieu d'avoir ma page entrer.jsp j'obtiens

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
org.apache.jasper.JasperException: Cannot find message resources under key org.apache.struts.action.MESSAGE
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
	at java.lang.Thread.run(Thread.java:534)
je crois que le problème réside au niveau de la declaration d'un resourcebundle au niveau de struts-config.xml chose que je n'arrive pas encore à manipuler
si qqn peut m'expliquer le mecanise avec une partie de code,je serai ravi
merci