JavaのテンプレートエンジンとしてFreeMarkerがある。テンプレートエンジンって割とみたいに書くことで余計な改行が入らないようになるじゃないですか。このFreeMarkerではどうするの?っていうのを同僚の人に教えてもらったので、ググれるようにまとめておく。
はじめに
やりたかったことは、DBのテーブル情報から下記のようなクラスを生成するためのテンプレートで(1)と(2)のところに改行を入れたくなかった、ということ。
最初のFreeMarkerのテンプレートファイルはこんな感じ。
改行を入れたくないところにコメントを入れることで回避
結論からいうと、FreeMarkerのコメントのタグ
<#-- -->
を改行を入れたくない部分に入れたら改行を削除することができた。
FreeMarkerの空白を削除するタグ
ちなみに、いろいろ調べてみてFreeMarkerには空白を削除するタグが幾つかあることがわかったが、改行だけでなく半角スペースやタブなども削除してしまうので今回のケースでは使えなかった。
最後に
HTMLを出力する場合はあまり改行は気にならないかもしれなけど、今回のようにJavaのソースとかを生成する場合は改行の制御がちゃんとできるテンプレートエンジンじゃないと辛いなぁと思った。結果としてやりたいことは実現できたから良かったけど。
- 作者: 竹添直樹,島本多可子,小津美夕紀,亀井隆司
- 出版社/メーカー: 翔泳社
- 発売日: 2011/07/16
- メディア: 大型本
- 購入: 6人 クリック: 217回
- この商品を含むブログ (25件) を見る