public class ShopAction extends ActionSupport{
private HashMap<Integer,ArrayList<String>> nmap;
public HashMap<Integer, ArrayList<String>> getNmap() {
return nmap;
}
public void setNmap(HashMap<Integer, ArrayList<String>> nmap) {
this.nmap = nmap;
}
public String excute(){
nmap =new HashMap<Integer,ArrayList<String>>();
ArrayList<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
nmap.put(1, list);
list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
nmap.put(2, list);
return SUCCESS;
}
}
jsp:
<body>
2222
<table>
<s:iterator value="nmap.keySet()" id="keya">
<tr>hehe
<td><s:property value="keya"/></td>
<s:iterator value="nmap.get(#keya)">
<td><s:property/></td>
</s:iterator>
</tr>
</s:iterator>
</table>
</body>
</html>
我看网上例子都是这样,显示时只有只有222字符串, 为什么遍历时为空?
而当我写个构造函数
public ShopAction(){
nmap =new HashMap<String,ArrayList<String>>();
ArrayList<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
nmap.put("1", list);
list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
nmap.put("2", list);
}