我有一個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