|
當forEach 的items屬性中的表達式的值是Java.util.Map時,則var中命名的變量的類型就是 Java.util.Map.Entry。這時var=entry的話,用表達式${entry.key}取得鍵名。 用表達${entry.value}得到每個entry的值。這是因為Java.util.Map.Entry對象有getKey和getValue方法,表達式語言遵守JavaBean的命名約定。
<%
Map<String,String> map2 = new HashMap();
map2.put("a","hello world");
map2.put("b","this is map");
request.setAttribute("map2",map2);
%>
<br>
鍵值對遍歷<br>
<c:forEach var="item" items="${map2}">
${item.key} > ${item.value} <br>
</c:forEach>
鍵遍歷<br>
<c:forEach var="item" items="${map2}">
${item.key}<br>
</c:forEach>
值遍歷<br>
<c:forEach var="item" items="${map2}">
${item.value}<br>
</c:forEach>
<body>
<br><br>
<%
List<String> list = new ArrayList<String>();
list.add("first");
list.add("second");
List<String> list2 = new ArrayList<String>();
list2.add("aaaaaa");
list2.add("bbbbbb");
Map<String,List<String>> map = new HashMap();
map.put("a",list);
map.put("b",list2);
request.setAttribute("map",map);
%>
通過鍵獲得列表值,并遍歷列表<br>
<c:forEach var="item" items="${map['a']}">
${item }<br>
</c:forEach><br>
<c:forEach var="item" items="${map['b']}">
${item }<br>
</c:forEach> <br>
map中值為列表,直接遍歷列表中的每一項<br>
<c:forEach var="item" items="${map}">
<c:forEach items="${item.value}" var="it">
${it }<br>
</c:forEach>
</c:forEach>
jsp技術:在JSTL EL中處理java.util.Map,及嵌套List的情況,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。