Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

nested iterate with ArrayList

 
MK Lee
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 4727
Mac Ruby VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
MK Lee
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hahaa...
i used the simplest trick: modify the form scope to session
and it works fine
Thx a lot
^3^
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic