アイポの開発に携わるようになって初めて目にしたのがVTLです。 これらの意味が分かると、コードも読みやすくなると思うので、基本的なものを挙げていきます。
1. #set
#setは右辺の値を左辺に代入する指示子です。以下のように表記します。
#set( $value = "$value * 3") #set( $name = "Yojigen") #set( $name = 'Yojigen')
2. #if #elseif #else
#if、#elseif、#elseは条件分岐するための指示子です。それぞれ以下のように記述します。
#if( 条件 ) [ 出力 ] [ #elseif( 条件2 ) [ 出力2 ] ] ・・ [ #else [ 出力3 ] ] #end
3. #foreach
#foreachは繰り返し処理を行うための指示子です。 オブジェクトのリストを使ってループさせます。
#foreach( $object in $list) [ 出力 ] #end
4. #parse #include
#parse、#includeはテンプレートの中にローカルファイルをインポートするための指示子です。 この二つの違いは、インポートしたファイルをVelocityが解析するかどうかにあります。 #parseの場合、読み込まれたファイルがVTLを含むものであった場合には、Velocityがそれを解析します。 #includeの場合、読み込まれたファイルをテキストファイルとして利用するため、Velocityは解析しません。 #parseでインポートしたファイルの中で再び#parseによるインポートを行うことができ、またさらにその中でも可能です。 これをどれだけ深い階層までできるかは、 設定ファイルであるvelocity.propertiesファイル内のparse_directive.maxdepthによって保存されています。 ちなみにデフォルトは10になっています。 また#includeは複数の引数をとることも可能で、その場合には”,”で区切ります。
#parse( ファイル名または変数名 ) または #{parse}( ファイル名または変数名 ) #include( ファイル名または変数名 ) または #{include}( ファイル名または変数名 )
http://www.techscore.com/tech/Java/ApacheJakarta/Velocity/index/を見ると、さらに理解が深まると思います。