【问题标题】:JSTL loop through multidimensional hashmap [duplicate]JSTL循环通过多维哈希图[重复]
【发布时间】:2018-02-05 18:25:28
【问题描述】:

这是我创建多维哈希图的 java 代码:

HashMap<String, HashMap<String, String>> data = new HashMap<String, HashMap<String, String>>();

for (App app : apps) {
    String randomVar = "";

    data.put(String.valueOf(app.getId()), new HashMap<String, String>());
    data.get(String.valueOf(app.getId())).put("name", app.getName());
    data.get(String.valueOf(app.getId())).put("info", randomVar);
}

这是我的.jsp 文件:

<c:forEach items="${data}" var="items">
    <c:forEach items="${items}" var="item">
        <div class="col-md-6">
            <div class="overview">
                <a href="/goto/${items.key}" class="minimal" title="Switch to: ${item.name}">
                    ${item.randomVar}
                    <span>${item.name}</span>
                </a>
            </div>
        </div>
    </c:forEach>
</c:forEach>

很遗憾,我无法使 jsp 文件中的循环正常工作。问题在于第二个循环。我无法达到变量。无论我尝试什么,我都会收到Don't know how to iterate over supplied 'items' in &lt;forEach&gt;items.name 不存在等错误。如何正确循环哈希图?

【问题讨论】:

    标签: java loops jsp hashmap jstl


    【解决方案1】:

    不应该是items="${items.value}吗?

    【讨论】:

    • 这给了我这个错误:javax.el.PropertyNotFoundException: Property 'name' not found on type java.util.HashMap$Node
    • @Jordy 是的,它也是${item.key} 而不是${item.name}${item.value.name}${item.value.info}
    • @Jordy 不,${item.key} 将有 'name' 和 'info',${item.value} 将有 app.getName() 和 randomVar(当然,${item.name}${item.randomVar} don '不存在)。
    猜你喜欢
    • 2021-09-22
    • 2015-01-20
    • 2015-04-04
    • 2012-06-18
    • 1970-01-01
    • 2013-07-20
    • 2012-03-05
    • 2016-01-27
    • 1970-01-01
    相关资源
    最近更新 更多