Hi Nikhil,
Thanks for the suggestion. I tried, but it is still not working. I am using
struts tags and instead of <input>.
If my class structure was like the below one, then the values will be
updated without any problem when the form submitted. The problem comes when
I have two logic iterates(as shown in my earlier post).
class BookList
String bookListName
boolean selected
class BookInfoForm extends ActionForm{
ArrayList<BookList> bookLists;
public BookList getBookl(int index){
return bookLists.get(index);
}
public void setBookl(int index,BookList element){
bookLists.set(index, element);
}
}
<logic:iterate name="bookInfoForm" id="bookl" property="bookLists"
indexId="i">
<html:checkbox name="bookl" property="selected" indexed="true" value="true"
/>
<bean:write name="bookl" property="bookListName" />
</logic:iterate>
Thanks,
Thanuja
Thanuja
Nikhil Walvekar wrote:
>
> Hi Thanuja,
>
> Your checkbox tag should be rendered as
> <input type="checkbox" name="bookLists[i].books[j].selected" value="true">
>
> I don't think logic:iterate supports property as "indexed".
> Probably you can create above tag using values you have.
>
> "bookLists[i].books[j].selected" will be converted as
> "getBookList().get(i).getBooks().get(j).setSelected(value)" you will have
> to
> make sure that none of the getters return null object.
>
> Regards,
> Nikhil
> On Tue, Apr 14, 2009 at 7:04 AM, thanuja <[email protected]>
> wrote:
>
>>
>> Hi,
>>
>> I am using one logic iterate tag inside another. The data set at the
>> inner
>> loop should update form bean. Following explains what i tried to do. This
>> way the data displays as I expected. But when I select the check box it
>> won't update the corresponding 'Book' object. (The form has list of
>> 'BookList' objects. Each BookList object has set of Book objects. I
>> wanted
>> to mark Book as selected.)
>>
>> class BookList
>> ArrayList<Book> books
>>
>> class Book
>> String name
>> boolean selected
>>
>> class BookInfoForm extends ActionForm{
>> ArrayList<BookList> bookLists;
>>
>> public BookList getBookl(int index){
>> return bookLists.get(index);
>> }
>> public void setBookl(int index,BookList element){
>> bookLists.set(index, element);
>> }
>> public Book getBook(int index){
>>
>> return bookLists.get(?).getBooks().get(index);
>> }
>> public void setBook(int index,Book element){
>>
>> bookLists.get(?).getBooks().set(index,element);
>> }
>>
>>
>> }
>>
>> <logic:iterate name="bookInfoForm" id="bookl" property="bookLists"
>> indexId="i">
>>
>> <logic:iterate id="book" name="bookl" property="books" indexId="j">
>> <html:checkbox name="book" property="selected" indexed="true"
>> value="true"
>> />
>> <bean:write name="book" property="name" />
>>
>> </logic:iterate>
>>
>> </logic:iterate>
>>
>> Thanks in advance,
>> Thanuja
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Multiple-Logic-iterate-tags-and-setting-indexed-properties-tp23031690p23031690.html
>> Sent from the Struts - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
> --
> Nikhil
>
>
--
View this message in context:
http://www.nabble.com/Multiple-Logic-iterate-tags-and-setting-indexed-properties-tp23031690p23050006.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]