【发布时间】:2015-05-31 18:08:49
【问题描述】:
如何使用<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>
【问题讨论】:
-
我们会喜欢查看代码。
-
@kicko 在问题本身中添加了代码。附言迭代给出异常为
javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in &lt;forEach&gt; -
您从哪里获得响应列表?它是什么类型的?