Ok the reason I had just put strings in the Map was because of Lack of internationalisation, I've now done this but still I get The same error that of a NullPointerException. I'm assuming this Is because of a method not found error from my ServletException Output in Tomcat... (See attached) Am I correct in assuming that
map.put( "button.banana.add", "addBanana" ); maps onto the method.......... public ActionForward addBanana(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { return (mapping.findForward("success")); } I've simply stuck super.execute() in my execute method and also Tried removing the method as well but I still seem to get the Following exception *sigh*. Can anyone suggest whats wrong? Many thanks, Jon. Exception follows.......................................... javax.servlet.ServletException at org.apache.struts.action.RequestProcessor.processException(RequestProces sor.java:507) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:448) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 266) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:239 6) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) 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.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) 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:40 5) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC onnection(Http11Protocol.java:380) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:50 8) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:533) at java.lang.Thread.run(Thread.java:536) root cause java.lang.NullPointerException at java.lang.Class.getMethod0(Class.java:1734) at java.lang.Class.getMethod(Class.java:951) at org.apache.struts.actions.DispatchAction.getMethod(DispatchAction.java:3 34) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.j ava:266) at org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAct ion.java:239) at tweek.struts.staff.action.assessment.QuestionMCAction.execute(QuestionMC Action.java:173) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:446) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 266) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:239 6) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) 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.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) 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:40 5) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC onnection(Http11Protocol.java:380) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:50 8) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:533) at java.lang.Thread.run(Thread.java:536) -----Original Message----- From: Wendy Smoak [mailto:[EMAIL PROTECTED]] Sent: 12 February 2003 17:21 To: 'Struts Users Mailing List' Subject: RE: LookupDispatchAction > The problem is that the execute method ALWAYS gets executed and not the intended method. > Does anybody know why EXECUTE is called but the intended ADDBANANA method is not called? You've effectively "undone" the use of LookupDispatchAction by overriding the execute method without calling super.execute(...). You correctly complain that *your* execute method is being called, not the one in LookupDispatchAction that figures out which method to call. So either get rid of your execute method, or make sure to call super.execute(...). In addition, as David mentioned, the things in the KeyMethodMap should be keys present in your ApplicationResources.properties file, not the actual value in the request. An example from my project: ApplicationResources.properties contains: button.add.prospect=Add Prospect button.delete.prospect=Delete Prospect and getKeyMethodMap has this: map.put( "button.add.prospect", "addProspect" ); map.put( "button.delete.prospect", "deleteProspect" ); Also consider implementing the 'unspecified' method to prevent a problem if the specified parameter is not present in the request. HTH, -- Wendy Smoak Applications Systems Analyst, Sr. Arizona State University PA Information Resources Management --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]