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> 文章来源: JSP的c标签遍历Map数据