今天有一网友问过我这样一个问题,他用 Map 来封装数据层返回的数据,想在 Jsp 页面通过 struts2 标签来显示 map 中的键值,说真的以前开发封装数据都是用 List ,从来没有用过 Map 来封装数据,最多是用来保存用户登录信息,以方便用来判断用户是否以登录, 但用 Map 来封装数据实在不是明智之举, 但我以前也从没这样子作过,所以在网上找了好久也没找到相关的信息, 后来一想struts2 可以直接用来显示action 中的属性值,所以就想出了以下方式解决了这个问题,具体代码如下: action

public String execute() throws Exception ...{
if(this.getUserName().equals("chen") && this.getPwd().equals("chen")) ...{
ActionContext.getContext().getSession().put("userName", this.getUserName());
User user = new User();
user.setName("a");
user.setCode("A");
map.put(1, user);
user = new User();
user.setName("b");
user.setCode("B");
map.put(2, user);
return SUCCESS;
}
return ERROR;
}
<%@taglib uri="/struts-tags" prefix="s"%>
<table>
<s:iterator value="map.keySet()" id="id">
<tr><td>
<s:property value="#id"/></td>
<s:iterator value="map.get(#id)">
<td><s:property value="name"/></td>
<td><s:property value="code"/></td>
</s:iterator>
</tr>
</s:iterator>
</table>