This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
The moose likes Struts and the fly likes nested iterate with ArrayList Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "nested iterate with ArrayList" Watch "nested iterate with ArrayList" New topic

nested iterate with ArrayList

MK Lee

Joined: Jul 26, 2002
Posts: 5
I'm not familiar with Struts, please forgive me if I'm asking stupid question.

My struts-config:

My jsp:

the jsp can successfully generate the corresponding page with correct data in the html:

However, when I try to submit this page to the action class, before reaching the action class, it generates:

Why is that? How can I solve it?
Marc Peabody
pie sneak

Joined: Feb 05, 2003
Posts: 4727

You'll either have to change some code (most DynaUsers prefer not to) or put the form in session scope.

What is happening:
1) I assume their is an Action to populate the ActionForm with orderDetails before going to the jsp because you show that it prepopulates correctly.
2) When you submit the jsp, orderDetails[0].itemId is calling:
getOrderDetails("0").setItemId() but fails because the orderDetails' values are not in the ActionForm (a new ActionForm is created for the submission because it is declared as request scope and, well, this is a different request from the user).
3) At this point it looks for the index of 0 in the orderDetails ArrayList but finds that the list is empty (size=0) and throws and IndexException

If you're not afraid of getting your hands dirty you can come up with a way to put the ArrayList back into the new ActionForm. The reset() method might be a good place to do this.

A good workman is known by his tools.
MK Lee

Joined: Jul 26, 2002
Posts: 5
i used the simplest trick: modify the form scope to session
and it works fine
Thx a lot
I agree. Here's the link:
subject: nested iterate with ArrayList
jQuery in Action, 3rd edition