Jakarta Velocity – コメント
コメントの利用
VTLを利用してテンプレートにコメントを記述することができる。書式は以下の通り。
# 行コメント #* 複数行コメント 複数行コメント *# #** VTLコメントブロック VTLコメントブロック *#
これらの表記は、テンプレートエンジン処理では出力されない。また、最後の例はVTLコメントブロックで、作者名やバージョン情報などを特別に表記する場合に利用する。
Jakarta Velocity – 繰り返し
VTLを利用した繰り返しループ(#foreach-#end)
VTLでは、繰り返し構造を#foreachという構文でサポートしている。繰り返しの対象はjava.util.Vector、java.util.HashMap、配列である。
書式
#foreach([一時変数名] in [Vector or HashMap or 配列の変数名])
##処理
#end
例
#foreach($rank in $ranking)
$rank
#end
rankingという名前で設定されたリストの要素数分だけ繰り返し処理を行う。繰り返し処理ごとにrankという名称の変数に値が割り当てられる。
ちなみにputするほうの例は…。
String[] ranking = {"じょん", "じろう", "はなこ", "たろう", "れいもんど"};
vc.put("ranking", ranking);
ループカウンタの利用
ループ中に$velocityCountという暗黙変数を参照することが出来る。この変数には現在の繰り返し回数が記録されている。
例
#foreach($rank in $ranking)
$[velocityCount]:$[rank]
#end
結果
1:じょん 2:じろう 3:はなこ 4:たろう 5:れいもんど
Jakarta Velocity – 条件分岐
VTLを利用した条件判定分岐(#if-#elseif-#end)
通常プログラム言語には条件判定分岐の構文が用意されており、VTLにも同様に存在する。
書式
#if(条件式)
上記条件に当てはまった場合の処理
#elseif(条件式)
上記条件に当てはまった場合の処理
#else
上記条件に当てはまった場合の処理
(他の条件に当てはまらなかった場合の処理)
#end
例
#if($age == 20)
成人おめでとう!
#elseif($age == 0)
誕生おめでとう!
#else
${age}才おめでとう!
#end

