Could someone explain why the following does not work:

- - - - Form bean:
<form-bean name="forms.myForm"
type="org.apache.struts.validator.DynaActionForm">
<form-property name="values" type="java.util.List" />
</form-bean>

- - - - Action Mapping:
<action path="/populateMyForm"
                type="test.populateFormAction" 
                scope="request">
                <forward name="success" path="myTestPage.jsp"/>
</action>

<action path="/readMyForm"
                type="test.editFormAction" 
                scope="request"
                name="forms.myForm"
                <forward name="success" path="myResultPage.jsp" />
</action>

- - - - Prepopulated form:
<logic:iterate id="value" name="myStringList">
        <html:text property="values" value="${value}" indexed="true" />
</logic:iterate>

- - - - Action:
DynaActionForm dynaForm = (DynaActionForm) myForm;
List myList = (List) dynaForm.get("values");

The form shows up fine, but somehow the List I retrieve doesn't contain
any elements. ( If the text field is empty, List should still contain at
least one element )

Only workaround I've found so far is to set size-parameter to form-bean
definition ( and because the form can contain 0 to n items, it is kind
of a nasty way to do it, setting the size parameter high enough so that
overflow wont happen )

So.. how to use DynaActionForm to retrieve indexed properties from
dynamically created form?




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to