繁体   English   中英

如何在JSP中迭代地图?

[英]How to iterate a map in JSP?

如何使用<c:forEach> JSTL标记在JSP中使用<Integer, List<ResponseInfo>>迭代映射,然后使用另一个for循环迭代该列表?

如果您想查看代码,请告诉我。

从控制器我回来了
return new ModelAndView("reviewAudit","responseForm",responseForm);

其中responseForm包含一个地图:
private Map<String, List<ResponseInfo>> resInfoMap;


这是我的JSP代码:

<div class="panel-body">
    <div class="panel-group" id="accordion">
    <c:forEach items="${responseForm.resInfoMap}" var="responselist">

        <div class="panel panel-primary">
            <div class="panel-heading">
                <h4 class="panel-title">
                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" class="">Topic1</a>
                </h4>
            </div>
            <div id="collapseOne" class="panel-collapse collapse in" aria-expanded="true">
                <div class="panel-body">
                    <table>
                        <c:forEach items="${responselist}" var="response1">
                        <tr>
                            <td>
                                <p>
                                    <span style="font-size: 13px; font-weight: bold;">Q:</span>
                                    ${response1.auditQuestion}
                                </p>
                            </td>
                            <td>
                                <p>
                                    <span style="font-size: 13px; font-weight: bold;">Ans:</span>
                                    ${response1.auditResponse}
                                </p>
                                <p>
                                    <span style="font-size: 13px; font-weight: bold;">Comment:</span>
                                    ${response1.auditComment}
                                </p>
                            </td>
                        </tr>
                        </c:forEach><!-- list iteration -->
                    </table>
                </div>
                </div>
        </div>

    </c:forEach> <!-- map iteration -->         
    </div>       <!-- <div class="panel-group" id="accordion"> -->
</div>

当使用<c:forEach>迭代地图时,事实上,迭代一组条目,这些条目同时具有“键”和“值”字段。

请尝试以下方法:

<c:forEach var="entry" items="${map}">
   key is ${entry.key}
   <c:forEach var="info" items="${entry.value}">
        info is ${info}
   </c:forEach>
</c:forEach>

我们无法看到您的第一个代码。 尝试这个:

<c:forEach var="map" items="${responseForm}"> <!--your map variable name-->
      <c:forEach var="list" items="${map.value}">

      </c:forEach>
</c:forEach>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM