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]

Reply via email to