JSP的C标签遍历Map数据

こ雲淡風輕ζ 提交于 2019-12-23 19:02:55

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>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!