I'm trying to figure out how to define and use a DynaActionForm which
has an indexed property that is another DynaActionForm. I'm using
struts 1.1. Here is something like what I mean:
First my sample struts-config.xml
----------------------------------
<form-bean name="SubForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="property1"
type="java.lang.String"/>
<form-property name="property2"
type="java.lang.String"/>
</form-bean>
<form-bean name="SampleMain"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="subForm1" type="SubForm[]"/>
<form-property name="subForm2" type="SubForm[]"/>
</form-bean>
And the JSP:
------------------
<table>
<c:forEach var="subForm1" items="${SampleMain.map.subForm1}"
varStatus="status">
<tr>
<td><html:text
property="subForm1[${status.index}].property1" size="5" />
<td><html:text
property="subForm1[${status.index}].property2" size="5" />
</tr>
</c:forEach>
</table>
Unfortunately this doesn't work. If I try making the subtypes SubForm[]
like above, I get a NullPointer exception when I try to start the
server, when struts tries to create the DynaForm classes.
If I make the property type Object[], I can successfully populate the
form, but when I try to save it, I get an ArrayOutOfBounds error when
struts tries to create the initial DynaForms (Obviously because it has
no idea what type of form to create, I think).
How do I make this work?
Also, once I start implementing validation on this form, is it going to
be possible to use struts validation to validate the subitems?
Thanks,
Nathan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]