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>