Running Iterator Through Bean Stored in Map List
public class Iterator extends ActionSupport
{
Map nmap = new HashMap<String, List<Person>>();
public String execute()
{
Person objPerson = new Person();
objPerson.userName = "Name1";
objPerson.age = 25;
List<Person> myList = new ArrayList<Person>();
myList.add(objPerson);
nmap.put("Mugil", myList);
objPerson.userName = "Name2";
objPerson.age = 26;
List<Person> myList2 = new ArrayList<Person>();
myList2.add(objPerson);
nmap.put("Mani", myList2);
objPerson.userName = "Name3";
objPerson.age = 27;
List<Person> myList3 = new ArrayList<Person>();
myList3.add(objPerson);
nmap.put("Vinu", myList3);
setNmap(nmap);
return SUCCESS;
}
public Map getNmap()
{
return nmap;
}
public void setNmap(Map nmap)
{
this.nmap = nmap;
}
}
Person Bean Code
class Person
{
String userName;
int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
JSP Page Using Struts2 Tag
<table>
<s:iterator value="nmap">
<s:iterator var="Person" value="value">
<tr>
<td>
<s:property value="key" />
</td>
<td>
<s:property value="age" />
</td>
</tr>
</s:iterator>
</s:iterator>
</table>