David -- 

Thanks very much for the reply.  I grabbed a recent nightly build and am now
using the indexed tag functionality; it is a very helpful addition.
However, I still find myself needing to write custom Actions to handle
manipulation of complex documents (i.e. adding another item to a nested
collection, etc.).  From Ted Husted's note, it sounds like this
functionality is further down the road.  If I end up writing anything useful
along these lines I will let everyone know...

regards,
--Steve


> -----Original Message-----
> From: David Winterfeldt [mailto:[EMAIL PROTECTED]]
> Sent: Monday, October 22, 2001 2:00 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Auto-generating ActionForms
> 
[...]
> > 2.  Has anyone had any experience dealing with
> > complex ActionForms, such as
> > those derived from a XML Schema?  It seems like the
> > Struts taglibs are more
> > about handling relatively flat documents; can anyone
> > suggest other
> > approaches for doing things like generating and
> > handling forms with optional
> > repeating groups, etc.?
> You can have nested properties if you aren't aware of
> that.  So for a property you could have "address.name"
> and this would be the equivalent of
> getAddress().getName().  ("address[2].name" ->
> retrieve object from array and then call getName()) 
> So this can let you have different beans nested inside
> each other.
> 
> Dave Hays has added the functionality of indexed
> functionality for tags.  This lets you reference
> anything the logic:iterator tag can loop through and
> generate the correct indexed property name
> dynamically.  It is in the nightly builds or you can
> download it here. 
> http://www.husted.com/struts/resources/indexed-tags.htm
> 
> 
> <logic:iterate id="listElement" name="newsscanForm"
> property="listElementList" indexId="index">
>     <td align="right" valign="center">
>        <html:text indexed="true" name="listElement"
> property="position" size="2" maxlength="2"/>
>     </td>
> </logic:iterate>
> 
> public List getListElementList();
> public Object getListElement(int index);
> public void setListElement(int index, Object value);
> 
> David

Reply via email to