weblog of key_amb

主にIT関連の技術メモ

Struts2でのvelocity関連設定

参考
Struts2本家サイト

struts.xml

velocity.propertiesや、VelocityToolsのtoolbox.xmlのパスを設定できる。
パスは、Webアプリケーションルートからの相対パスで記述する。

    <!-- Velocity の設定ファイルの場所 -->
    <constant name="struts.velocity.configfile" 
value="/WEB-INF/velocity.properties" />

    <!-- Velocity のツール設定ファイルの場所 -->
    <constant name="struts.velocity.toolboxlocation" 
value="/WEB-INF/toolbox.xml" />

velocity.properties

Velocityの設定ファイル。

resource.loader

テンプレートの読み込み元に関する設定。
.vmテンプレートファイルを読み込む場合、FileResourceLoaderを設定する。

Windows、Tomcat6、Struts2.1.8での設定

resource.loader = file

file.resource.loader.description = Velocity File Resource Loader
file.resource.loader.class = \
org.apache.velocity.runtime.resource.loader.FileResourceLoader
file.resource.loader.path = \
C:\\pleiades\\tomcat6.0\\webapps\\struts2-velocity
file.resource.loader.cache = false
file.resource.loader.modificationCheckInterval = 2

Webアプリケーションルートからの相対パスで記述したい場合、velocity-toolsのWebappLoaderを使う。
http://d.hatena.ne.jp/m383m/20071106/1194352135

resource.loader=webapp

webapp.resource.loader.class= \
org.apache.velocity.tools.view.servlet.WebappLoader
webapp.resource.loader.cache=true
webapp.resource.loader.modificationCheckInterval=60

classpathから読み込みたい場合、次のように記述する。

resource.loader=class
class.resource.loader.class=\
org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
velocimacro.library

デフォルト値は、VM_global_library.vm
設定する場合、パスはいずれかのresource.loaderからのパスを記述する。
ずんWiki - Velocityによると、空に設定しておくことで、ライブラリが見つからないなどのエラーメッセージを回避できる。

velocimacro.library =