イベント オブジェクトの ArrayList を受け取る JSP ページがあり、各イベント オブジェクトには日付の ArrayList が含まれています。次のようにイベント オブジェクトを反復処理しています。
各イベント オブジェクトの dateTimes ArrayList を反復処理し、各イベントの日付/時刻を出力するにはどうすればよいですか?
あなたの質問を理解できれば、基本的に ArrayLists の ArrayList を持っています。JSTL には、有効な「アイテム」「コレクション」とは何かについて、かなり変わった規則がいくつかあります。これは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}
。
<%@ 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>