在jstl中迭代多个项目

时间:2011-01-27 20:29:32

标签: jstl

我有这个要求在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>

这是可能的,或者在其他方面同时迭代多个列表。

1 个答案:

答案 0 :(得分:8)

如果它们具有相同的大小,那么有两个选项,假设它是List<Integer>List<String>

  1. 将它们合并到一个列表中,然后实体依次重复单个类中的每个其他列表的项目,如List<ManfacturerIssue>,其中ManfacturerIssue是一个包含{{1}的javabean类}和Integer number属性。这样你最终可以做到:

    String issue
  2. 通过索引进行迭代,但这很难看并且不可维护(填写):

    <c:forEach items="${mfgIssues}" var="mfgIssue">
        ${mfgIssue.number}, ${mfgIssue.issue}
    </c:forEach>