повторение нескольких элементов в jstl - PullRequest
0 голосов
/ 27 января 2011

У меня есть это требование для итерации по 3 спискам одновременно в jstl.для итерации по одному списку мы используем

<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 Ответ

8 голосов
/ 27 января 2011

Если они имеют одинаковый размер, то есть два варианта, при условии, что это List<Integer> и List<String>:

  1. Объединить их в один список с объектами, которые вturn повторяет элементы каждого списка в одном классе, например List<ManfacturerIssue>, где ManfacturerIssue - это класс javabean, который содержит свойства Integer number и String issue.Таким образом, вы можете в конечном итоге сделать:

    <c:forEach items="${mfgIssues}" var="mfgIssue">
        ${mfgIssue.number}, ${mfgIssue.issue}
    </c:forEach>
    
  2. Итерация по индексу вместо этого, однако это уродливо и не поддерживается как (заполнить):

    <c:forEach begin="0" end="${fn:length(mfgNumbers) - 1}" varStatus="loop">
        ${mfgNumbers[loop.index]}, ${issues[loop.index]}
    </c:forEach>
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...