首页 > Java > java教程 > 正文

如何使用 JSTL 迭代 HashMap 中的 ArrayList?

Susan Sarandon
发布: 2024-10-24 16:51:02
原创
713 人浏览过

How to Iterate an ArrayList Inside a HashMap Using JSTL?

使用 JSTL 迭代 HashMap 中的 ArrayList

在 Web 开发中,JSTL(JavaServer Pages 标准标记库)提供了一组标记来简化 JSP 中的常见任务( Java 服务器页面)。其中一项任务是迭代数据结构。

要迭代 HashMap 及其中包含的 ArrayList,您可以使用 JSTL 的 ;标签。它支持循环遍历集合和映射:

对于数组和集合,var为您提供当前迭代的项目。

<code class="html"><c:forEach items="${collectionOrArray}" var="item">
    Item = ${item}<br>
</c:forEach></code>
登录后复制

对于映射 , var 给你一个 Map.Entry 对象,它有 getKey() 和 getValue() 方法。

<code class="html"><c:forEach items="${map}" var="entry">
    Key = ${entry.key}, value = ${entry.value}<br>
</c:forEach></code>
登录后复制

由于entry.value是一个列表,所以也迭代它:

<code class="html"><c:forEach items="${map}" var="entry">
    Key = ${entry.key}, values = 
    <c:forEach items="${entry.value}" var="item" varStatus="loop">
        ${item} ${!loop.last ? ', ' : ''}
    </c:forEach><br>
</c:forEach></code>
登录后复制

varStatus 属性通过跟踪循环的迭代状态来增强可读性。

下面类似的 Java 实现有助于理解该过程:

<code class="java">for (Entry<String, List<Object>> entry : map.entrySet()) {
    out.print("Key = " + entry.getKey() + ", values = ");
    for (Iterator<Object> iter = entry.getValue().iterator(); iter.hasNext();) {
        Object item = iter.next();
        out.print(item + (iter.hasNext() ? ", " : ""));
    }
    out.println();
}</code>
登录后复制

有关进一步参考,请查看以下资源:

  • [在 JSP 中循环 HashMap](https://stackoverflow.com/questions/11085751/how-to-loop-through-a-hashmap-in-jsp)
  • [使用 MVC 和 DAO 在 JSP 中显示 JDBC 结果集](https://stackoverflow.com/questions/23612802/show-jdbc-resultset-in-html-in-jsp-page-using-mvc-and-dao-pattern )
  • [在 JSTL 中循环指定次数](https://stackoverflow.com/questions/1054242/how-to-loop-over-something-a-specified-number-of-times- in-jstl)

以上是如何使用 JSTL 迭代 HashMap 中的 ArrayList?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!