You would want this to read 

<html:form action="/do/createProject">

and then make the "action=submit" part a hidden field in your form. 

The Action Mapping should start out like this:

    <action 
        path="/createProject"
        type= ...


-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Custom Software ~ Technical Services.
-- Tel +1 716 737-3463
-- http://www.husted.com/about/struts/


Alexander Jesse wrote:
> 
> Hi,
> 
> I am using Struts 1.0; the template tags and Tomcat 3.2.1 as server.
> 
> In my web.xml I have the following action-mapping:
>   <servlet-mapping>
>     <servlet-name>action</servlet-name>
>     <url-pattern>/do/*</url-pattern>
>   </servlet-mapping>
> 
> In the main-template-jsp I have the following lines:
> <html:html locale="true">
> <html:base/>
> 
> If I a form like this
> <html:form action="/createProject.do?action=submit">
> everything works fine
> 
> If I define a form as follows:
> <html:form action="/do/createProject?action=submit">
> 
> this results in the following dump (in the HTML-source):
> 
><!--------------------------------------------------------------------------------------></td>
>     <td width="820" valign=top colspan="2"><h1>Included servlet error: 500</h1>
> <h2>Location: /bugs/createProject.jsp</h2>
> <h2>Error Location: /bugs/createProject_work.jsp</h2><b>Internal Servlet 
>Error:</b><br><pre>javax.servlet.ServletException: Cannot retrieve mapping for action 
>/do/createProject
>         at 
>org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:459)
>         at 
>_0002fcreateProject_0002ejspcreateProject_jsp_0._jspService(_0002fcreateProject_0002ejspcreateProject_jsp_0.java:270)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
>org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
>         at org.apache.tomcat.core.Handler.service(Handler.java:286)
>         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
>         at 
>org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:194)
>         at 
>org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1758)
>         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1595)
>         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
>         at com.csg.cs.tfw.servlet.CSActionServlet.doGet(CSActionServlet.java:596)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at com.csg.cs.tfw.servlet.CSActionServlet.service(CSActionServlet.java:858)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
>         at org.apache.tomcat.core.Handler.service(Handler.java:286)
>         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
>         at 
>org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
>         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
>         at 
>org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
>         at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
>         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
>         at java.lang.Thread.run(Thread.java:484)
> </pre>
> <b>Root cause:</b>
> <pre>javax.servlet.jsp.JspException: Cannot retrieve mapping for action 
>/do/createProject
>         at org.apache.struts.taglib.template.InsertTag.doEndTag(InsertTag.java:149)
>         at 
>_0002fcreateProject_0002ejspcreateProject_jsp_0._jspService(_0002fcreateProject_0002ejspcreateProject_jsp_0.java:260)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
>org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
>         at org.apache.tomcat.core.Handler.service(Handler.java:286)
>         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
>         at 
>org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:194)
>         at 
>org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1758)
>         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1595)
>         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
>         at com.csg.cs.tfw.servlet.CSActionServlet.doGet(CSActionServlet.java:596)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at com.csg.cs.tfw.servlet.CSActionServlet.service(CSActionServlet.java:858)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
>         at org.apache.tomcat.core.Handler.service(Handler.java:286)
>         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
>         at 
>org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
>         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
>         at 
>org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
>         at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
>         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
>         at java.lang.Thread.run(Thread.java:484)
> </pre>
> 
> Has somebody else seen something similar?
> Has somebody an explanation or a fix?
> 
> regards
> Alexander Jesse

Reply via email to