10. Velocityの設定キー
2006.02.03 株式会社四次元データ 里見玲爾
Velocity 10章 Velocityの設定キー
この章ではVelocityで主に使用する設定キーについて解説します。
10.1. Runtime Log
Runtime Logについて設定できるキーには次のものがあります。
| 設定キー | 解説 | デフォルト値 |
| runtime.log |
エラーや警告と情報を提供するメッセージのためのログファイルのフルパスと名前を指定します。
フルパスでない場合、カレントディレクトリからの相対パスとなります。 |
velocity.log |
| runtime.log.logsystem |
インタフェースorg.apache.velocity.runtime.log.LogSystemでサポートするロギングのクラスの、
インスタンスのクラス名を指定します。 | なし |
| runtime.log.logsystem.class | Velocityのログシステムのために使用されるクラスです。 |
org.apache.velocity.runtime.log.AvalonLogSystem |
| runtime.log.error.stacktrace | trueにすると各エラーカテゴリに対するスタックトレースを
有効にします。大量のログを生成するため、デバッグを完了したらfalseとするほうがよいでしょう。 |
false |
| runtime.log.warn.stacktrace |
| runtime.log.info.stacktrace |
| runtime.log.invalid.references |
falseのとき、リファレンスが無効のときのログ出力がされません。 | true |
10.2. エンコード
エンコードに関するキーには次のものがあります。
| 設定キー | 解説 | デフォルト値 |
| input.encoding | テンプレートの入力エンコーディング文字を指定します。 |
ISO-8859-1 |
| output.encoding |
VelocityServletなどからの出力ストリームのための文字エンコーディングです。 |
ISO-8859-1 |
10.3. VTL指示子
VTL指示子に関するキーには次のものがあります。
| 設定キー | 解説 | デフォルト値 |
| directive.foreach.counter.name |
#foreach指示子によるループカウントのコンテキストでのキーの名前を指定します。 |
velocityCount |
| directive.foreach.initial.value | #foreach指示子によるループカウントの最初の値を指定します。 |
1 |
| directive.include.output.errormsg.start |
#include指示子によるエラーの際のタグの最初と最後を定義します。
この2つが定義されていれば、".start msg .end"の形式でエラーメッセージがストリームに出力されます。 |
<!-- include error : |
| directive.include.output.errormsg.end | see error log --> |
| directive.parse.maxdepth |
#parse指示子による解析の最大深度を指定します。再帰のループを防ぐために設定します。 | 10 |
10.4. Velocimacro
Velocimacroに関するキーは5章でも解説しましたが、もう一度紹介しておきます。
| 設定 | 解説 | デフォルト値 |
| velocimacro.library |
Velocityエンジンの初期化のときに読み込むテンプレートライブラリのパスを指定します。
パスはファイルローダーリソースパスのルートからです。
| VM_global_library.vm |
| velocimacro.permissions.allow.inline |
テンプレートの中で#macro指定子によりVelocimacroを定義可能かどうかを指定します。 | true |
| velocimacro.permissions.allow.inline.to.replace.global |
Velocityエンジンの初期化の際に読み込んだテンプレートライブラリで定義されたVelocimacroを、
インラインで定義されたVelocimacroで上書きできるかを指定します。 |
false |
| velocimacro.permission.allow.inline.local.scope |
インラインで定義されたVelocimacroが、定義されたテンプレートでのみ有効かどうかを指定します。
trueのとき、Velocimacroは定義されたテンプレートでのみ有効です。 | false |
| velocimacro.context.localscope |
Velocimacro内でVelocityContextの値に変更を与える場合(#set指定子などによる)、
その変更をVelocimacro内のみの一時的な変更とするか、永続的な変更とするかどうかを指定します。 |
false |
10.5. リソース管理
リソース(vmファイル、テキストファイルなど)を管理するためのキーについては、
11章の「リソースローダの設定」で解説します。