0

イベント オブジェクトの ArrayList を受け取る JSP ページがあり、各イベント オブジェクトには日付の ArrayList が含まれています。次のようにイベント オブジェクトを反復処理しています。

各イベント オブジェクトの dateTimes ArrayList を反復処理し、各イベントの日付/時刻を出力するにはどうすればよいですか?

4

2 に答える 2

3

あなたの質問を理解できれば、基本的に ArrayLists の ArrayList を持っています。JSTL には、有効な「アイテム」「コレクション」とは何かについて、かなり変わった規則がいくつかあります。これはJSTL 1.2 仕様では十分に答えられていなかったので、ソースコードに行きました。

forEach は以下を反復できます。

  • ネイティブまたはオブジェクト型の配列 (注:これには、型の消去のため、ジェネリック配列が含まれます);
  • コレクションまたは任意のサブクラス。
  • 任意のイテレータ;
  • 列挙; _
  • Mapを実装するもの。また
  • Stringとしてのカンマ区切りの値。これは非推奨の動作です。

注意:このコンテキストでイテレータと列挙を使用すると、状態が変更され、(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}

于 2008-12-20T16:30:19.557 に答える
2
<%@ 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>
于 2008-12-20T16:31:07.403 に答える