« どうにかこうにか加西のお山へ | トップページ | velocityの整数演算では演算子前後にスペース入れる »

2011.04.22

Tomcat再起動直後にvelocimacroが失敗してたが解決した

Velocityマクロ(velocimacro)を定義したvmファイルを、個々のテンプレートファイルへ #parse で取り込んで使用していたら、Tomcat再起動直後の初回アクセス時にだけマクロ展開に失敗していた。

画面表示的には未定義のマクロを使用したときの挙動っぽい。引数のbeanがtoStringされたような状態でVTLがそのまま表示されている。

2回目以降は正常動作するが気持ち悪いし不細工なので、がんばって調べてなんとか解決。各ページで #parse せず、Velocityサービス起動時のライブラリとして読み込んでもらえばOKでした。

Webでは 「velocity.propertiesにvelocimacro.libraryエントリに記述せよ」とあるが、Turbine環境下ではTurbineResources.propertiesservices.VelocityService.velocimacro.libraryでOKのようだ。

現在aipo5.1.2のカスタマイズを行っているのでファイルの検索をしていたら、aipoのGlobalMacros.vmがライブラリ登録されていて発見。velocity.propertiesでもOKなのかもしれないけどそれは試していない。

ちゅうか、なんで #parse では初回に失敗するのか不明なままだがワタシだけかな?
#parseじゃあマクロ取り込めないとVelocimacro いろいろに書いてあった(#parse() を使って Velocimacro を登録できますか ? )。困ってるときは見つからないってもー

« どうにかこうにか加西のお山へ | トップページ | velocityの整数演算では演算子前後にスペース入れる »

プログラミング」カテゴリの記事

Java / Apache」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Tomcat再起動直後にvelocimacroが失敗してたが解決した:

« どうにかこうにか加西のお山へ | トップページ | velocityの整数演算では演算子前後にスペース入れる »

2019年5月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
フォト

Google AdSense

銀の弾丸

無料ブログはココログ

他のアカウント