Often you can experience some troubles accessing correctly the objects (and their properties) on which you’re iterating through a iterator
tag.
Let’s consider this action that simply returns an Item
list obtained from our business service.
public class MyAction extends ActionSupport {
private List myList;
private MyService myService;
public String myMethod() {
myList = myService.getItemList();
return ActionSupport.SUCCESS;
}
public List getMyList() {
return myList;
}
}
The MyItem
bean class:
public class MyItem {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
In the jsp we iterate on myList
(that results in the execution of getMyList()
in the action) and we try to display the name
property of each item
(defined in the id
attribute of the iterator
tag) that calls the getName()
method of the Item
bean.
These are the results:
Doesn't work
Works
Doesn't work
Works
Doesn't work
Works
Works
I hope this little test can be useful.