JSTL Печать элементов arrayList - PullRequest
       10

JSTL Печать элементов arrayList

0 голосов
/ 20 декабря 2008

У меня есть страница JSP, которая получает ArrayList объектов событий, каждый объект события содержит ArrayList дат. Я перебираю объекты событий со следующим:

Как я могу пройти по списку dateTimes ArrayList каждого объекта события и распечатать дату / время каждого события?

Ответы [ 2 ]

3 голосов
/ 20 декабря 2008

Если я понимаю ваш вопрос, у вас по сути есть ArrayList of ArrayLists. JSTL имеет несколько довольно странных правил для того, что является действительной коллекцией "items". На JSTL 1.2 спецификацию не было достаточно ответа, поэтому я перешел к исходному коду.

forEach может перебирать:

Предостережение: использование Итераторов и Перечислений в этом контексте потенциально проблематично, так как это изменяет их состояние, и их невозможно сбросить (через JSTL).

В любом случае, код прост:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<c:forEach var="event" items="${events}">
  <c:forEach var="date" items="${event}">
    <fmt:formatDate value="${date}" type="both"
      timeStyle="long" dateStyle="long" />
  </c:forEach>
</c:forEach>

Предполагается, что объект события - это просто коллекция дат. Если эта коллекция является свойством, тогда просто замените ${event} на ${event.dates} или что-то еще.

2 голосов
/ 20 декабря 2008
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
 <c:forEach items="${events}" var="event">
     <c:forEach items="${event.dates}" var="date">
          <fmt:formatDate value="${date}" type="both"
          timeStyle="long" dateStyle="long" />
      </c:forEach>
 </c:forEach>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...