我有这个要求在jstl中同时迭代3个列表。为了迭代单个列表,我们使用
<c:forEach var = "mfgn" items = "${requestScope.mfgNumber}" varStatus = "status">
do something;
</c:forEach>
我需要做一些像
这样的事情<c:forEach var = "mfgn" var = "issue" items = "${requestScope.mfgNumber}" items = "${requestScope.something" varStatus = "status">
mfgNumber;
</c:forEach>
这是可能的,或者在其他方面同时迭代多个列表。
答案 0 :(得分:8)
如果它们具有相同的大小,那么有两个选项,假设它是List<Integer>
和List<String>
:
将它们合并到一个列表中,然后实体依次重复单个类中的每个其他列表的项目,如List<ManfacturerIssue>
,其中ManfacturerIssue
是一个包含{{1}的javabean类}和Integer number
属性。这样你最终可以做到:
String issue
通过索引进行迭代,但这很难看并且不可维护(填写):
<c:forEach items="${mfgIssues}" var="mfgIssue">
${mfgIssue.number}, ${mfgIssue.issue}
</c:forEach>