栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

你可以使用

JSTL <c:forEach>
标签来遍历数组,集合和映射。

如果是数组和集合,则每次迭代var都会立即为你提供当前迭代的项目。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><c:forEach items="${collectionOrArray}" var="item">    Item = ${item}<br></c:forEach>

对于地图,每次迭代var都会为你提供一个Map.Entry对象,该对象又具有getKey()和getValue()方法。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><c:forEach items="${map}" var="entry">    Key = ${entry.key}, value = ${entry.value}<br></c:forEach>

在你的特定情况下,

${entry.value}
实际上是a List,因此你还需要对其进行迭代:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><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>

该varStatus是那里只是为了方便;)

为了更好地了解这里发生的事情,这里有一个简单的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();}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441818.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号