You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by bu...@apache.org on 2004/07/29 17:54:08 UTC

DO NOT REPLY [Bug 30390] New: - Wildcarded action mapping cannot create DynaValidatorForm

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=30390>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=30390

Wildcarded action mapping cannot create DynaValidatorForm

           Summary: Wildcarded action mapping cannot create
                    DynaValidatorForm
           Product: Struts
           Version: Nightly Build
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Controller
        AssignedTo: dev@struts.apache.org
        ReportedBy: billsigg@bellsouth.net


If you use a wildcarded action mapping where the form is a DynaValidatorForm the
form cannot be created because it the wildcard value is not being substituted in
the form name. The substitution works correctly if a hand-rolled ActionForm is used.

To duplicate, create the action mapping:
    <action    
        path="/Edit*"
        type="com.foo.Edit{1}Action"
        name="{1}Form"
        scope="request"
        validate="false">
    <forward 
        name="failure" 
        path="/index.jsp"/>
    <forward 
        name="success" 
        path="/edit_{1}.jsp"/>
    </action>

Now, assuming that the form called EmployeeForm is defined as a
DynaValidatorForm -- when you access http://localhost:8080/foo/EditEmployee.do
the following error is raised:

javax.servlet.ServletException: Exception creating bean of class
org.apache.struts.validator.DynaValdiatorForm: {1}
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
	org.apache.jsp.edit_005fEmployee_jsp._jspService(edit_005fEmployee_jsp.java:85)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

root cause

javax.servlet.jsp.JspException: Exception creating bean of class
org.apache.struts.validator.DynaValdiatorForm: {1}
	org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:463)
	org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:433)
	org.apache.jsp.edit_005fEmployee_jsp._jspx_meth_html_form_0(edit_005fEmployee_jsp.java:116)
	org.apache.jsp.edit_005fEmployee_jsp._jspService(edit_005fEmployee_jsp.java:75)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org