JSP的c标签遍历Map数据

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>

猜你喜欢

转载自blog.csdn.net/misseel/article/details/80476536