アプリケーション設定ファイル (feat-config.xml)
フィーチャー設定ファイル
feature
command
bean
effect
fetch
output
mapping
page
view
data
file
forward
redirect
intercept
exception
input
input-literal
input-param
input-resource
validation
各設定ファイルで共通の要素
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
use-body-endocing-for-uri | boolean | 任意 | false | trueに設定するとリクエストURIのクエリーにエンコーディングの設定(フィーチャー設定ファイルのfeature要素, command要素)を適用します。 |
http-port | int | 任意 | なし | このアプリケーションのhttpスキームのアクセスに使われるポートです。http/httpsの自動切換えのURIを生成する際に使用されます。 |
https-port | int | 任意 | なし | このアプリケーションのhttpsスキームのアクセスに使われるポートです。http/httpsの自動切換えのURIを生成する際に使用されます。 |
ネスト可能な要素
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
config | String | 必須 | フィーチャー設定ファイルのファイル名です。ディレクトリは指定できません。フィーチャー設定ファイルはfeat-config.xmlと同じディレクトリに配置する必要があります。 |
|
template-path | String | 必須 | フィーチャー内で使用するテンプレートファイルのディレクトリです。一つのフィーチャーにつき一つ指定できます。アプリケーションのコンテキストルートからの相対パスで指定します。'/'や'.'で始まるパスは指定できません。 |
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name |
String | 必須 | このフィーチャーの名前です。リクエストのディスパッチなどで参照されます。 | |
create-session | boolean | 任意 | false | コマンドのcreate-session属性の共通の設定です。command要素でcreate-session属性が設定されていないときはこの値が参照されます。 |
encoding | String | 任意 | なし | コマンドのencoding属性の共通の設定です。command要素でencoding属性が設定されていないときはこの値が参照されます。 |
package | String | 任意 | なし | フィーチャー内に出現するJavaクラスのパッケージ名です。 |
ネスト可能な要素
command, page, data, file, forward, redirect, exception, intercept, resources
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | コマンドの名前です。リクエストのディスパッチなどで参照されます。 | |
create-session | boolean | 任意 | false | trueを設定すると、featがセッション属性を更新しようとしたときにセッションを自動的に作成します。falseを設定するとfeatがセッション属性を更新しようとしたときにHttpSessionExceptionが投げられます。この設定は既に作られたセッションに対しては何の影響も及ぼしません。また、アプリケーションのコードがセッションを作成する場合にも影響しません。featがセッションオブジェクトを作成しようとするのは、beanを出力するときとoutput要素で指定された値を保存するときだけです。 |
encoding | String | 任意 | fearure要素のencoding属性の値 | リクエストパラメータのエンコーディングを指定します。指定できる値はJavaで使用できるエンコーディング名です。指定しなかったときはfearure要素のencoding属性の値が参照されます。 |
scheme | String | 任意 | なし | http/httpsの自動リダイレクトを指定します。この値をhttpまたはhttpsに設定すると、設定と違うスキームでアクセスされたときに指定のスキームのURIに自動的にリダイレクトします。http/httpsの自動リダイレクトはGETメソッド、POSTメソッドの両方で実行されます。 |
ネスト可能な要素
bean, effect, fetch, exception, output
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | Beanアクションの名前です。 | |
class | String | 必須 | 作成するオブジェクトのクラスです。引数なしのコンストラクタを持っているクラスならどのようなクラスでも指定できます。 | |
scope | String | 任意 | local | Beanを作成するスコープです。"local", "request", "session", "application"のいずれかの値をとります。指定のスコープにname属性で指定した名前のインスタンスが既に存在するときはそのオブジェクトを返します。その際、class属性で指定したクラスのインスタンスかどうかはチェックしません。 |
error-response | boolean | validationを定義するときは必須 | なし | バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。 |
ネスト可能な要素
input, input-param, input-literal, input-resource, validation
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | Effectアクションの名前です。アクションの出力はこの名前でローカルスコープの属性にセットされます。 | |
class | String | 必須 | Effectアクションのクラスを指定します。feat2.Effectorインターフェイスを実装している必要があります。 | |
error-response | boolean | validationを定義するときは必須 | なし | バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。 |
ネスト可能な要素
input, input-param, input-literal, input-resource, validation
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | Fetchアクションの名前です。アクションの出力はこの名前でローカルスコープの属性にセットされます。 | |
class | String | 必須 | Fetchアクションのクラスを指定します。feat2.Fetcherインターフェイスを実装している必要があります。 | |
cache | long | 任意 | 0 | Fetchアクションの結果をキャッシュする時間をミリ秒単位で指定します。0以下の数値を設定するとキャッシュされません。 |
error-response | boolean | validationを定義するときは必須 | なし | バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。 |
ネスト可能な要素
input, input-param, input-literal, input-resource, validation
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | この出力設定の名前です。"default"を設定すると、CommandContextのoutputNameプロパティに何も設定しなかったときのデフォルトの出力になります。 | |
response | String | 必須 | 遷移先のレスポンス名です。 | |
output-objects | String | 必須 | ローカルスコープからscope属性で指定したスコープに出力するオブジェクト名を空白区切りのリストで指定します。出力先には同名でセットされます。出力先で名前を変更したいときはここで指定せずにmapping要素で個別に指定してください。 | |
scope | String | 任意 | request | 出力先のスコープです。"request", "session", "application"のいずれかの値をとります。 |
ネスト可能な要素
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
local-name | String | 必須 | 出力するローカルスコープのオブジェクトの名前です。 | |
output-name | String | 必須 | 出力先のスコープにセットするときのオブジェクトの名前です。 | |
scope | String | 任意 | output要素のscope属性の値 | 出力先のスコープです。"request", "session", "application"のいずれかの値をとります。output要素のscope属性の値よりも優先されます。 |
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | ページレスポンスの名前です。 | |
template | String | 必須 | テンプレートとなるHTMLファイル名。feat-config.xmlのfeature要素で指定したパスからの相対パスで指定しますが、上位ディレクトリは指定できません。 | |
max-age | int | 任意 | なし | ページの有効期間を秒単位で指定します。0より大きい値を設定すると、ExpiresヘッダとCache-Controlヘッダで有効期間を返します。0を設定するとHTTPレスポンスのヘッダとHTMLのMETA要素でPragma, Cache-Controlを"no-cache"に設定します。指定を省略するとこれらのレスポンスヘッダを出力しません。 |
ネスト可能な要素
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
class | String | 必須 | ビューコンポーネントのクラス名です。 | |
error-response | String | validationを定義するときは必須 | なし | バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。 |
ネスト可能な要素
input, input-param, input-literal, input-resource, validation
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | データレスポンスの名前です。 | |
class | String | 必須 | レスポンスを処理するクラスの名前。feat2.Dataインタフェースを実装している必要があります。 | |
error-response | String | validationを定義するときは必須 | なし | バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。 |
ネスト可能な要素
input, input-param, input-literal, input-resource, validation
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | ファイルレスポンスの名前です。 | |
class | String | 必須 | ファイル内容を出力するクラス名です。 | |
filename | String | 任意 | なし | クライアントに返すファイルの名前です。class属性のクラスがファイル名を返す場合はそれを優先します。ユーザエージェントがWindows IE、Firefox、Mozillaの場合は日本語のファイル名を設定できますが、それ以外のユーザエージェントでは日本語のファイル名を正しく処理できません。 |
content-type | String | 任意 | なし | レスポンスヘッダのcontent-typeの内容です。class属性のクラスがmimeTypeを返す場合はそれを優先します。 |
error-response | String | validationを定義するときは必須 | なし | バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。 |
ネスト可能な要素
input, input-param, input-literal, input-resource, validation
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | フォワードレスポンスの名前です。 | |
path | String | 必須 | フォワード先のパスです。'/'で始める必要があります。アプリケーションのルートを"/"とした相対パスで指定します。これはServletContext#getRequestDispatcherメソッドで実現されるので、このメソッドの仕様に依存しています。フォワード先には"ローカル"スコープの属性(CommandContextにセットした属性)は引き渡されないことに注意してください。 |
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | リダイレクトレスポンスの名前です。 | |
uri | String | 必須 | リダイレクト先のURIです。相対パスも指定できます。HttpServletRequest#sendRedirectメソッドの仕様に依存します。 | |
method | String | 任意 | get | リダイレクト時に使用されるHTTPメソッドです。getを指定するとリダイレクトを促すHTTPヘッダを出力します。postを指定すると、HTMLのフォームとそれをサブミットするJavaScriptが出力されます。 |
ネスト可能な要素
input, input-param, input-literal, input-resource
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
class | 必須 | |||
pattern | 必須 |
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
catch | String | 必須 | キャッチする例外クラスです。Javaの例外機構のようにこのクラスとサブクラスの例外をキャッチします。exception要素を複数書いた場合、cache構文のように先に書いたexception要素のcache属性から順に比較します。 | |
response | String | 必須 | 例外をキャッチしたときに遷移する先のレスポンス名です。 |
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
property | String | 必須 | 値をセットする対象となるプロパティ名です。 | |
scope | String | 任意 | 参照する値のスコープです。"local", "request", "session", "application"のいずれかの値をとります。 | |
ref | String | 任意 | property属性と同じ値 | 参照する値の名前です。 |
required | boolean | 任意 | false | trueを設定すると、値がnullまたは空文字列だった場合にバリデーションエラーになります。 |
display-name | String | 任意 | なし | このプロパティの表示名をリソース名で指定します。ここで設定して値はバリデータの標準エラーメッセージで使用されます。省略した場合、エラーメッセージにはプロパティ名が表示されます。 |
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
property | String | 必須 | 値をセットする対象となるプロパティ名です。 | |
required | boolean | 任意 | false | trueを設定すると、値がnullまたは空文字列だった場合にバリデーションエラーになります。 |
display-name | String | 任意 | なし | このプロパティの表示名をリソース名で指定します。ここで設定して値はバリデータの標準エラーメッセージで使用されます。省略した場合、エラーメッセージにはプロパティ名が表示されます。 |
ネスト可能な要素
テキスト
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
property | String | 必須 | 値をセットする対象となるプロパティ名です。 | |
ref | String | 任意 | property属性と同じ値 | 参照するリクエストパラメータ名です。 |
required | boolean | 任意 | false | trueを設定すると、値がnullまたは空文字列だった場合にバリデーションエラーになります。 |
display-name | String | 任意 | なし | このプロパティの表示名をリソース名で指定します。ここで設定した値はバリデータのエラーメッセージで使用されます。省略した場合、エラーメッセージにはプロパティ名が表示されます。 |
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
property | String | 必須 | 値をセットする対象となるプロパティ名です。 | |
ref | String | 任意 | property属性と同じ値 | 参照するリソースの名前です。 |
required | boolean | 任意 | false | trueを設定すると、値がnullまたは空文字列だった場合にバリデーションエラーになります。 |
display-name | String | 任意 | なし | このプロパティの表示名をリソース名で指定します。ここで設定して値はバリデータの標準エラーメッセージで使用されます。省略した場合、エラーメッセージにはプロパティ名が表示されます。 |
属性名 | 型 | 必要性 | 省略値 | 説明 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | String | 必須 | バリデーションの名前です。ほかのvalidationのdepends属性で参照するときに使われます。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
properties | String | 必須 | 検証するプロパティ名を空白区切りのリストで指定します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
type | String | 必須 | バリデータのタイプです。指定できるバリデータは以下の通りです。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
class | String | type属性がclassの時は必須 | なし | type属性が"class"のとき、検証を行うバリデータクラスを指定します。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
depends | String | 任意 | なし | ほかのバリデータでエラーがなかったときだけ検証を行いたい場合に指定します。バリデータ名を空白区切りで記述します。ほかのオブジェクトのバリデータを指定することはできません。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
message | String | 任意 | バリデータの標準エラーメッセージ | バリデーションエラーのメッセージです。リソースIDで指定します。省略したときはバリデータの標準メッセージとなります。この標準メッセージはリソースを定義することで上書きできます。 |
ネスト可能な要素
input, input-param, input-literal, input-resource
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
lang | String | 任意 | なし | この要素の下のresource要素でlang属性を省略したときに参照される言語名です。ja_JPのようにJavaのロケールの形式で記述します。 |
ネスト可能な要素
属性名 | 型 | 必要性 | 省略値 | 説明 |
---|---|---|---|---|
name | String | 必須 | リソース名です。 | |
lang | String | 任意 | resources要素で指定した値 | このリソースの言語です。ja_JPのようにJavaのロケールの形式で記述します。 |
ネスト可能な要素
テキスト