playframework1‎ > ‎template‎ > ‎

listタグ

基本

itemsにコレクション変数を指定し、asに1件ごとデータを受け取るローカルな変数名を指定する。指定しなかった場合は${_}で参照する。
コレクションが空だった場合の処理をelse節に書くことができる。

#{list items:listItems, as:'item' }

  <a href="${item.link}>${item.caption}</a>
#{/list}
#{else}
  リンクがありません
#{/else}

便利ステータス

asで指定した変数名を元にして以下の変数が使える。
 ${as}_index ループ回数。1から開始。
 ${as}_isLast 最後の要素の場合に True。
 ${as}_isFirst 最初の要素の場合に True。
 ${as}_parity 偶数行の場合は even、奇数行の場合は odd。
テーブルの装飾に活用できそう。
asを指定しなかった場合はそのまま_isFirst_isLastとという変数名になる。

#{list items:posts, as:'post' }
  #{if post_isFirst}<ul>#{/if}
  <li #{if post_parity=='even'}class="even"#{/if}>${post.name}</li>
  #{if post_isLast}</ul>#{/if}
#{/list}

for文的な使い方

コレクション変数を用いず、0から10まで繰り返し、のようなこともできる。

#{list items:0..10, as:'i'}${i}#{/list}