slim3でGAE/J 事始め - Velocity対応完了

すべてのslim3デモをVelocityで実現することが出来た。
サーバーにUPしても問題なく動いた。
やっていく中でいくつかVelocityのノウハウが溜まったのでまとめてみる。

<input type="text" name="arg1" value="$!arg1" />

このように書きがちだがValidationエラーになったときプロパティに値がアサインされないのでまずい。
正しくは

<input type="text" name="arg1" value="$!form.bean.arg1" />

このようにしたほうがベターだ。
少しわずらわしいのでマクロを作って

<input type="text" name="#i('arg1')" />

と書けるようにした。

他にもcheckboxとかselectとかを簡潔に書けるようにマクロを作ってみた。(次のエントリーで。)