我有一个JSP页面接收事件对象的ArrayList,每个事件对象包含日期的ArrayList。我通过事件对象迭代下列要求:JSTL打印arrayList元素
我怎么能遍历每个事件对象的日期时间ArrayList和打印出每个事件的日期/时间?
我有一个JSP页面接收事件对象的ArrayList,每个事件对象包含日期的ArrayList。我通过事件对象迭代下列要求:JSTL打印arrayList元素
我怎么能遍历每个事件对象的日期时间ArrayList和打印出每个事件的日期/时间?
如果我理解你的问题,你基本上有ArrayList的ArrayList。 JSTL对于有效的“items”集合有一些相当古怪的规则。 JSTL 1.2 specification没有足够的回答,所以我去了源代码。
的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}
或其他。
至少对于jsp 2.0来说,这是不足以实现迭代的 – krosenvold 2008-12-20 17:03:33
<%@ 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>
您似乎已经遗漏了您的问题的代码。 – cletus 2008-12-20 16:24:24