繰り返し処理

基本的な事ですが、JSTLによる繰り返し処理(forEach)は以下のようなものがあります。

  • 繰り返し処理(c:forEach)

forEachはJSPにてよく使います。Java側(サーブレット側)にてMap、ArrayListの構造体を設定し、対象件数分、明細のHTML等を作成する際に、利用します。

<c:forEach var="listdata" items="${list}" varStatus="status">
  リストの明細情報(コード)【<c:out value="${listdata.cd}"/>】 <br>
  リストの明細添え字(ステータス)【<c:out value="${status.index}"/>】
</c:forEach>

※itemsに対象リスト構造体、varに明細情報が代入される変数を設定、varStatusに繰り返し処理に関するステータス情報が代入されます。

varStatusの情報は以下が存在します。私はfirstを利用し初期化、lastで集計を出力等で利用しています。

  • index = 0からの要素添え字(インデックス)
  • count = 1からのインデックス番号
  • first = ループの1件目の場合true,以外はfalse
  • last = ループの最後はtrue,以外はfalse
  • current = varにて指定した変数オブジェクト