Documentation
5-1. エンジン設定方法
ServiceProviderの設定
Mayaa エンジンの設定には、次に示す XML ファイルを使います。このファイルは META-INF
の下に org.seasar.mayaa.provider.ServiceProvider
という名前で作成します。
図 5-1-1: ファイルを置く場所
WEB-INF/ +-- classes/ | | | +-- META-INF/ | | | | | +-- org.seasar.mayaa.provider.ServiceProvider | | | +-- (クラスファイルなど) | +-- lib/ | (省略)
■何もしない設定ファイル
これは何もしない設定ファイルです。この中に各種の設定を書くことで、Mayaa の動作を設定できます。
org.seasar.mayaa.provider.ServiceProvider
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE provider
PUBLIC "-//The Seasar Foundation//DTD Mayaa Provider 1.0//EN"
"http://mayaa.seasar.org/dtd/mayaa-provider_1_0.dtd">
<provider>
</provider>
■Engine のパラメータ
Mayaa 標準の Engine に対するパラメータをいくつか説明します。デフォルト設定は下記の通りです。
org.seasar.mayaa.provider.ServiceProvider
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE provider PUBLIC "-//The Seasar Foundation//DTD Mayaa Provider 1.0//EN" "http://mayaa.seasar.org/dtd/mayaa-provider_1_0.dtd"> <provider> <engine> <parameter name="defaultSpecification
" value="/default.mayaa
"/> <parameter name="checkTimestamp
" value="true
"/> <parameter name="suffixSeparator
" value="$
"/> <parameter name="welcomeFileName
" value="index.html
"/> <parameter name="requestCharacterEncoding
" value="UTF-8
"/> <parameter name="surviveLimit
" value="5
"/> <parameter name="forwardLimit
" value="10
"/> <parameter name="convertCharset
" value="false
"/> </engine> </provider>
上記の 6 項目について説明します。
defaultSpecification
- すべてのページ共通に利用する Mayaa ファイルのパスを指定します。デフォルトは "
/default.mayaa
" です。 checkTimestamp
- HTML ファイル、Mayaa ファイルの更新を検知して再ビルドする機能を有効にするかどうかを設定します。"
true
" なら有効、"false
" なら無効です。デフォルトは "true
" です。 suffixSeparator
- テンプレート切り替え機能でページ名と suffix とを区別するための文字列を指定します。デフォルトは "
$
" です。 requestedSuffixEnabled
- テンプレート切り替え機能で suffix を明示したアクセスを許すかどうかを設定します。アクセス時に明示した suffix は最優先になります。デフォルトは "
false
" です。 welcomeFileName
- URL の最後が "
/
" でアクセスされた場合にリダイレクトする先のファイル名を指定します。デフォルトは "index.html
" です。 requestCharacterEncoding
- Mayaa でリクエストパラメータを参照する際の文字コードを指定します。デフォルトは "
UTF-8
" です。MayaaServlet
の前にHttpServletRequest#setCharacterEncoding(String encoding)
でセットされている場合はこの設定を使用しません。 surviveLimit
- ページのビルド結果をガーベジコレクションの対象にするまでの回数を指定します。デフォルトは "
5
" です。ここで指定した回数だけ解放要求が来たときに初めて、ページのビルド結果オブジェクトがガーベジコレクションの対象になります。また値として "0
" を設定した場合、ビルド結果はガーベジコレクションの対象になりません。 forwardLimit
- 一回のレンダリング中に Mayaa の同一パスへ forward できる上限回数を指定します。デフォルトは "
10
" です。このパラメータは記述ミスで無限ループしてしまうのを避けるためにあります。 convertCharset
(※1.1.12 で追加されたパラメータ)- テンプレートの meta タグで charset を "
Windows-31J
" としたとき、出力する HTML および HTTP レスポンスヘッダの Content-Type の charset として "Shift_JIS
" を出力するかどうか設定します。"true
" なら有効、"false
" なら無効です。デフォルトは "false
" です。
■TemplateBuilder のパラメータ
Mayaa 標準の TemplateBuilder
に対するパラメータをいくつか説明します。デフォルト設定は下記の通りです。
この templateBuilder
は 5-6「id属性を無視する」でパラメータ以外にも設定を紹介しています。
org.seasar.mayaa.provider.ServiceProvider
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE provider PUBLIC "-//The Seasar Foundation//DTD Mayaa Provider 1.0//EN" "http://mayaa.seasar.org/dtd/mayaa-provider_1_0.dtd"> <provider> <templateBuilder> <parameter name="outputTemplateWhitespace
" value="true
"/> <parameter name="outputMayaaWhitespace
" value="false
"/> <parameter name="optimize
" value="true
"/> <parameter name="defaultCharset
" value="UTF-8
"/> <!-- ※1.1.22 で追加されたパラメータ --> <parameter name="replaceSSIInclude
" value="true
"/> <!-- ※1.1.25 で追加されたパラメータ --> </templateBuilder> </provider>
上記の 4 項目について説明します。
outputTemplateWhitespace
- HTML ファイル上の空白文字(スペース、タブ文字)を出力するかどうか設定します。"
true
" なら出力し、"false
" なら出力しません。デフォルトは "true
" です。 outputMayaaWhitespace
- Mayaa ファイル上の空白文字(スペース、タブ文字)を出力するかどうか設定します。"
true
" なら出力し、"false
" なら出力しません。デフォルトは "false
" です。 optimize
- テンプレートビルド後の最適化をするかどうか設定します。最適化をすると描画パフォーマンスが向上します。"
true
" なら有効、"false
" なら無効です。デフォルトは "true
" です。 defaultCharset
- HTML ファイルを読み込むときのデフォルト文字コードを指定します。デフォルトは "
UTF-8
" です。ここで指定した文字コードで HTML ファイルの先頭部分を読み込み、meta タグによる charset 指定を見つけたときは、meta タグで指定された文字コードで読み込み直します。 replaceSSIInclude
- SSI の include 記述を insert プロセッサに置き換える機能を有効にするかを指定します。デフォルトは "
false
" です。