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>