Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Map 使用JSTL循环映射_Map_Loops_Jstl - Fatal编程技术网

Map 使用JSTL循环映射

Map 使用JSTL循环映射,map,loops,jstl,Map,Loops,Jstl,我希望JSTL循环通过映射,并输出键的值及其值 例如,我有一个映射,它可以有任意数量的条目,我想使用JSTL循环遍历这个映射,并输出键及其值 我知道如何使用键访问值,${myMap['keystring']},但如何访问键?如下所示: <c:forEach var="entry" items="${myMap}"> Key: <c:out value="${entry.key}"/> Value: <c:out value="${entry.value}"/

我希望JSTL循环通过
映射
,并输出键的值及其值

例如,我有一个
映射
,它可以有任意数量的条目,我想使用JSTL循环遍历这个映射,并输出键及其值

我知道如何使用键访问值,
${myMap['keystring']}
,但如何访问键?

如下所示:

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

关键:
价值:

您可以像这样循环遍历哈希映射

<%
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功能,请查看相关内容:不要使用scriplets。“他们很坏。”泰德,我也听说过。但是为什么呢?@TJ-一般来说,没有什么好的理由在模板中加入强大的逻辑;它们很难调试,它们混合了范例,并且可以产生意想不到的结果。除此之外,JSTL aready还提供了一种工具来清晰地迭代映射:forEach标记。@tad他显然是在使用scriplets来设置他的测试数据。这是一个非常好的机会answer@jk:我同意。这里的落选票很可笑。另外,Scriptlet可以产生意想不到的结果的想法对我来说毫无意义。它们并不漂亮,但1+1总是等于2,除非有一些我不知道的特定场景。请注意:不要尝试将forEach循环中的var命名为“param”,我如何使用forEach动态更改值。例子。关键字:值: