設定リファレンス

FreyjaServlet

FreyjaServletに指定できる設定には以下のものがあります。

名前 説明 省略時の値
templateParser テンプレートファイルをパースするためのTemplateParserクラスのFQCN。 net.skirnir.freyja.impl.TemplateParserImpl
tagEvaluator タグを評価するためのTagEvaluatorクラスのFQCN。 省略不可
tagEvaluator.KEY TagEvaluatorにKEYという名前のプロパティとして設定したい値。 なし
expressionEvaluator テンプレート中に書かれた式言語を評価するためのExpressionEvaluatorクラスのFQCN。 省略不可
tagRenderer タグの評価結果をレンダリングするためのTagRendererクラスのFQCN。 net.skirnir.freyja.impl.XHTMLTagRenderer
variableResolverFactory 式言語に書ける変数を保持するVariableResolverオブジェクトを生成するためのファクトリ
クラスであるVariableResolverFactoryクラスのFQCN。
net.skirnir.freyja.webapp.ServletVariableResolverFactory
transcriptVariablesToRequest (variableResolverFactoryにServletVariableResolverFactoryが指定された時のみ有効)
VariableResolverに変数がセットされた際にHttpServletRequestに対して同じ値を
setAttribute()するかどうか。
false
context.KEY テンプレートを評価する際に渡されるTemplateContextオブジェクトにKEYという名前の
プロパティとして設定したい値。
なし
templateRoot テンプレートファイルが格納されているディレクトリの、Webアプリケーションの配備先
ディレクトリ相対パス。例えばtemplateRootとして「/template」を指定すると、
http://localhost:8080/context/a/b.zptにリクエストが来た場合に「/a/b.zpt」ではなく
「/template/a/b.zpt」というテンプレートファイルが処理される。
空文字列
pageEncoding テンプレートファイルの文字エンコーディング。 Javaのデフォルト文字エンコーディング
requestEncoding リクエストの文字エンコーディング。この値が指定されている場合は、テンプレートの処理
の前にHttpServletRequest#setCharacterEncoding(requestEncoding)
呼び出される。
なし
responseEncoding レスポンスの文字エンコーディング。テンプレートの評価結果であるStringをバイナリス
トリームに変換する際に利用される。
UTF-8
contentType レスポンスのコンテントタイプ。charset指定を含めない場合、responseEncodingで
指定された文字エンコーディングがcharsetとして付与される。charsetを含めた場合は
responseEncodingの指定よりも優先される。
text/html
useShiftJISInsteadOfWindows31J 最終的にレスポンスヘッダに付与するContent-Typeのcharset指定がWindows-31Jであ
る場合に、Shift_JISという文字列に置き換えるかどうか。
Content-Typeヘッダのcharset指定をWindows-31Jとしている場合は、セキュリティの観点
からこの設定をtrueにすることを強く推奨する。
参考:「そろそろUTF-7について
一言いっとくか

なおテンプレート中に<meta>タグでContent-Typeを記述している場合は、併せて
tagEvaluator.render.overwrite-content-type-meta-tagの値をtrueに設定して下さい。
テンプレート中のContent-Type指定も置換されるようになります。
false
keepResponseContentTypeAsIs
[1.0.16以上]
レスポンスのContent-Typeヘッダをそのままの状態に保つかどうか。
何らかのフレームワークと連携させる場合で、フレームワーク側でContent-Typeヘッダを
設定するようになっている場合はこの値をtrueに設定して下さい。
false

ZPTエンジンとしてFreyjaServletを動作させるには、最低限以下の設定をして下さい。

tagEvaluator
net.skirnir.freyja.zpt.MetalTagEvaluator
expressionEvaluator
net.skirnir.freyja.zpt.webapp.ServletTalesExpressionEvaluator

また、文字エンコーディングで問題が発生しないよう、全ての文字エンコーディングをUTF-8にそろえることを推奨します。 そのためには以下のように設定して下さい。

pageEncoding
UTF-8
requestEncoding
UTF-8
responseEncoding
UTF-8
contentTypeのcharset指定
UTF-8