You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Ahearn, Denis" <DE...@firepond.com> on 2002/11/20 22:33:31 UTC
Problem using nested property names with DynaActionForm - Should
Struts support this?
Hi,
I am trying to use a nested property with a DynaActionForm, as shown below:
<form-bean name="personForm" dynamic="true"
type=type="org.apache.struts.action.DynaActionForm">
<form-property name="address.zipCode"
type="java.lang.String"/>
</form-bean>
In my JSP file, I use the html:text tag to bind the form property to an HTML
text element:
<html:text property="address.zipCode" maxlength="5"/>
When I access this JSP page, I get the following error:
javax.servlet.ServletException: No getter method for property
address.zipCode of bean org.apache.struts.taglib.html.BEAN
at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:494)
at
org.apache.jsp.SG_0002dcensus_form_jsp._jspService(SG_0002dcensus_form_jsp.j
ava:389)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
04)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>From what I can tell, when Struts creates an instance of DynaActionForm for
this form definition, it creates a property on the form named
"address.zipCode". However, the html:text tag treats the propertyName as a
nested property, and expects the bean supplied to it (the form) to contain a
property named "address" which in turn has a property named "zipCode".
Since the form doesn't have an "address" property, the exception results.
Apparently Struts does not support nested property names with the
<form-property> tag. Would the Struts developers consider enhancing
DynaActionForm and DynaActionFormClass to support this usage? I believe all
it would take is enhancing those two classes to create the necessary object
hierarchy for nested properties, using DynaBeans for the child objects.
Thanks,
Denis