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