можно ли одновременно перебирать два элемента, используя foreach в jstl?

У меня есть два элемента из моей модели, и я хочу повторить их одновременно, используя jstl foreach. как я могу добиться этого, используя правильный синтаксис?


person randy    schedule 10.11.2010    source источник


Ответы (1)


Вы можете вызвать varStatus.index, чтобы получить индекс текущего раунда итерации, а затем использовать его для поиска второго списка.

Например, если у вас есть два списка people.firstnames и people.lastnames, вы можете сделать:

<c:forEach var="p" items="${people.firstnames}" varStatus="status">
  <tr>
      <td>${p}</td>
      <td>${people.lastnames[status.index]}</td>
  </tr>
</c:forEach>
person dogbane    schedule 10.11.2010
comment
Довольно прямой и умный подход. +1 - person Adeel Ansari; 10.11.2010
comment
Отлично, все работает, но у меня 3 списка, как перебрать третий список? - person Ganesh Putta; 18.11.2020
comment
@GaneshPutta, поскольку у вас уже есть индекс, вы можете применить ту же логику к n количеству списков. x[status.index], y[status.index], z[status.index] и так далее. - person Vibhor Dube; 23.06.2021