Been a while since Ive done it, but this sort of thing can be managed
using a lazy list (from commons-collections).
http://jakarta.apache.org/commons/collections/api/org/apache/commons/collections/ListUtils.html#lazyList
[http://jakarta.apache.org/commons/collections/api/org/apache/commons/collections/ListUtils.html#lazyList]
I forget the exact semantics of it but you can check the javadocs.
Some more info here:
http://wiki.apache.org/struts/StrutsCatalogLazyList
[http://wiki.apache.org/struts/StrutsCatalogLazyList]
hth
Andrew
Diego Manilla Suárez wrote:
> Hi! I have a problem with form members initialization.
>
> I have this form.
>
> public class BasicContentForm extends ValidatorForm {
>
> protected java.util.List propertyValues;
> public BasicContentForm() {
> this.propertyValues = new java.util.ArrayList();
> }
> public void setPropertyValues( java.util.List propertyValues ) {
> this.propertyValues = propertyValues;
> } public java.util.List getPropertyValues() {
> return this.propertyValues;
> }
> public Object getPropertyValue(int index) {
> return propertyValues.get(index);
> }
> public void reset(ActionMapping mapping, HttpServletRequest request) {
> this.propertyValues = new java.util.ArrayList();
> }
> }
>
> And this jsp:
>
> <logic:iterate name="basicContentForm" property="propertyValues"
> id="propertyValue">
> <html:text name="propertyValue" property="value" indexed="true"/>
> </logic:iterate>
>
> The problem is that the number and type of the elements of
> propertyValues list is calculated dynamically (from the database). I was
> doing that on my Action class, but I've realized that this doesn't work:
> when I submit the form, I get an Exception at BeanUtils.populate,
> because the list is not properly initialized. If I can't initialize it
> on the reset() method (I need to access the database), what else can I do?
>
> Thanks in advance
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
|