JSP的C标签遍历Map数据

时间:2022-10-21 15:25:42

JSP的C标签遍历Map数据

Map可以实现较为丰富的数据封装。

第一种:

控制器传递到页面的map格式如下:

Map<String, User> dataMap = new HashMap<String, User>();
dataMap.put(.....);//封装数据过程
model.addAttribute("dataMap", dataMap);

User可以为自定义对象

第二种:

Map<String, List<User>> dataMap = new HashMap<String,  List<User>>();
dataMap.put(.....);//封装数据过程
model.addAttribute("dataMap", dataMap);

针对以上两种Map,jsp遍历时有一点区别

首先,第一种值为单个对象的Map的遍历

<div >
<c:forEach items="${dataMap}" var="dataMap">
<c:set var="mapKey" value='${dataMap.key}' />
<c:set var="user" value='${dataMap.value}' />
<p>用户名:{user.username}</p>
<p>年龄:{user.age}</p>
</c:forEach>
</div>

第二种值为list的Map遍历

<div >
<c:forEach items="${dataMap}" var="dataMap">
<c:set var="mapKey" value='${dataMap.key}' />
<c:forEach items="${dataMap.value}" var="user">
<p>用户名:{user.username}</p>
<p>年龄:{user.age}</p>
</c:forEach>
</c:forEach>
</div>