This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates 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 OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "nested iterate with ArrayList" Watch "nested iterate with ArrayList" New topic
Author

nested iterate with ArrayList

MK Lee
Greenhorn

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
Sheriff

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
Greenhorn

Joined: Jul 26, 2002
Posts: 5
hahaa...
i used the simplest trick: modify the form scope to session
and it works fine
Thx a lot
^3^
 
Don't get me started about those stupid light bulbs.
 
subject: nested iterate with ArrayList