web-dev-qa-db-ja.com

JSTLでマップをループする

JSTLがMap<String, String>をループし、キーの値とその値を出力するようにしています。

たとえば、任意の数のエントリを持つことができるMap<String, String>があります。JSTLを使用してこのマップをループし、キーとその値の両方を出力したいと思います。

キー${myMap['keystring']}を使用して値にアクセスする方法は知っていますが、キーにアクセスするにはどうすればよいですか?

122
Dean

このような:

<c:forEach var="entry" items="${myMap}">
  Key: <c:out value="${entry.key}"/>
  Value: <c:out value="${entry.value}"/>
</c:forEach>
271
cletus

このようなハッシュマップをループできます

<%
ArrayList list = new ArrayList();
TreeMap itemList=new TreeMap();
itemList.put("test", "test");
list.add(itemList);
pageContext.setAttribute("itemList", list);                            
%>

  <c:forEach items="${itemList}" var="itemrow">
   <input  type="text"  value="<c:out value='${itemrow.test}'/>"/>
  </c:forEach>               

JSTL機能の詳細については、 こちら をご覧ください。

5
sayan