Reading my own post I realize this code will throw an IndexOutOfBoundsException 

You need to put 'empty' datas on the List as needed :

protected List item;

public void setItem(int index, Object obj) {
    if (this.item == null) {
        this.item = new ArrayList(index);
    }
    for (int i = this.item.size(); i < index; i++) {
        this.item.add("");
    }
    this.item.add(index, obj);
}

Nico.

> I think you can use something like this in a request scoped form-bean :
> 
> 
> protected List item;
> 
> public void setItem(int index, Object obj) {
>     if (this.item == null) {
>         this.item = new ArrayList(index);
>     } else {
>         this.item.ensureCapacity(index);
>     }
>     this.item.add(index, obj);
> }
> 
> This way, when form-bean population occurs, you will get a new Collection when 
> needed.
> 
> Nico.
> 
> 
> > I'd like to know if it's possible to avoid using to many session scoped
> > form beans.
> > 
> > I have a bean that contains a collection and I use nested:iterate to
> > display entry fields on my html:form. When the form is submitted, I get
> > an error in BeanUtils.populate(), because the new bean (when the bean is
> > request scoped) contains an empty collection and populate() tries to set
> > the properties of the elements that existed on the bean of the previous
> > request.
> > 
> > If I change the bean to session scope, everything works fine (because
> > now the bean is the same for both requests), but I think it's kind of
> > messy to have lots of session scoped beans.
> > 
> > I'd appreciate to have any comments on this subject.
> > 
> > Thanks
> > 
> > Jorge Mascena
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

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

Reply via email to