設定ファイルリファレンス

アプリケーション設定ファイル (feat-config.xml)

feat
feature

フィーチャー設定ファイル

feature
command
bean
effect
fetch
output
mapping
page
view
data
file
forward
redirect
intercept
exception
input
input-literal
input-param
input-resource
validation

各設定ファイルで共通の要素

resources
resource

アプリケーション設定ファイル (feat-config.xml)

feat

属性名 必要性 省略値 説明
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を生成する際に使用されます。

ネスト可能な要素

feature, resources

feature

属性名 必要性 省略値 説明
config String 必須  

フィーチャー設定ファイルのファイル名です。ディレクトリは指定できません。フィーチャー設定ファイルはfeat-config.xmlと同じディレクトリに配置する必要があります。

template-path String 必須  

フィーチャー内で使用するテンプレートファイルのディレクトリです。一つのフィーチャーにつき一つ指定できます。アプリケーションのコンテキストルートからの相対パスで指定します。'/'や'.'で始まるパスは指定できません。

フィーチャー設定ファイル

feature

属性名 必要性 省略値 説明

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

command

属性名 必要性 省略値 説明
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

bean

属性名 必要性 省略値 説明
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

effect

属性名 必要性 省略値 説明
name String 必須   Effectアクションの名前です。アクションの出力はこの名前でローカルスコープの属性にセットされます。
class String 必須   Effectアクションのクラスを指定します。feat2.Effectorインターフェイスを実装している必要があります。
error-response boolean validationを定義するときは必須 なし バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。

ネスト可能な要素

input, input-param, input-literal, input-resource, validation

fetch

属性名 必要性 省略値 説明
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

output

属性名 必要性 省略値 説明
name String 必須   この出力設定の名前です。"default"を設定すると、CommandContextのoutputNameプロパティに何も設定しなかったときのデフォルトの出力になります。
response String 必須   遷移先のレスポンス名です。
output-objects String 必須   ローカルスコープからscope属性で指定したスコープに出力するオブジェクト名を空白区切りのリストで指定します。出力先には同名でセットされます。出力先で名前を変更したいときはここで指定せずにmapping要素で個別に指定してください。
scope String 任意 request 出力先のスコープです。"request", "session", "application"のいずれかの値をとります。

ネスト可能な要素

mapping

mapping

属性名 必要性 省略値 説明
local-name String 必須   出力するローカルスコープのオブジェクトの名前です。
output-name String 必須   出力先のスコープにセットするときのオブジェクトの名前です。
scope String 任意 output要素のscope属性の値 出力先のスコープです。"request", "session", "application"のいずれかの値をとります。output要素のscope属性の値よりも優先されます。

page

属性名 必要性 省略値 説明
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"に設定します。指定を省略するとこれらのレスポンスヘッダを出力しません。

ネスト可能な要素

view

view

属性名 必要性 省略値 説明
class String 必須   ビューコンポーネントのクラス名です。
error-response String validationを定義するときは必須 なし バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。

ネスト可能な要素

input, input-param, input-literal, input-resource, validation

data

属性名 必要性 省略値 説明
name String 必須   データレスポンスの名前です。
class String 必須   レスポンスを処理するクラスの名前。feat2.Dataインタフェースを実装している必要があります。
error-response String validationを定義するときは必須 なし バリデーションエラーがあるときに遷移するレスポンス・コンポーネントの名前です。

ネスト可能な要素

input, input-param, input-literal, input-resource, validation

file

属性名 必要性 省略値 説明
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

forward

属性名 必要性 省略値 説明
name String 必須   フォワードレスポンスの名前です。
path String 必須  

フォワード先のパスです。'/'で始める必要があります。アプリケーションのルートを"/"とした相対パスで指定します。これはServletContext#getRequestDispatcherメソッドで実現されるので、このメソッドの仕様に依存しています。フォワード先には"ローカル"スコープの属性(CommandContextにセットした属性)は引き渡されないことに注意してください。

redirect

属性名 必要性 省略値 説明
name String 必須   リダイレクトレスポンスの名前です。
uri String 必須   リダイレクト先のURIです。相対パスも指定できます。HttpServletRequest#sendRedirectメソッドの仕様に依存します。
method String 任意 get リダイレクト時に使用されるHTTPメソッドです。getを指定するとリダイレクトを促すHTTPヘッダを出力します。postを指定すると、HTMLのフォームとそれをサブミットするJavaScriptが出力されます。

ネスト可能な要素

input, input-param, input-literal, input-resource

intercept

属性名 必要性 省略値 説明
class   必須    
pattern   必須    

exception

属性名 必要性 省略値 説明
catch String 必須   キャッチする例外クラスです。Javaの例外機構のようにこのクラスとサブクラスの例外をキャッチします。exception要素を複数書いた場合、cache構文のように先に書いたexception要素のcache属性から順に比較します。
response String 必須   例外をキャッチしたときに遷移する先のレスポンス名です。

input

属性名 必要性 省略値 説明
property String 必須   値をセットする対象となるプロパティ名です。
scope String 任意   参照する値のスコープです。"local", "request", "session", "application"のいずれかの値をとります。
ref String 任意 property属性と同じ値 参照する値の名前です。
required boolean 任意 false trueを設定すると、値がnullまたは空文字列だった場合にバリデーションエラーになります。
display-name String 任意 なし このプロパティの表示名をリソース名で指定します。ここで設定して値はバリデータの標準エラーメッセージで使用されます。省略した場合、エラーメッセージにはプロパティ名が表示されます。

input-literal

属性名 必要性 省略値 説明
property String 必須   値をセットする対象となるプロパティ名です。
required boolean 任意 false trueを設定すると、値がnullまたは空文字列だった場合にバリデーションエラーになります。
display-name String 任意 なし このプロパティの表示名をリソース名で指定します。ここで設定して値はバリデータの標準エラーメッセージで使用されます。省略した場合、エラーメッセージにはプロパティ名が表示されます。

ネスト可能な要素

テキスト

input-param

属性名 必要性 省略値 説明
property String 必須   値をセットする対象となるプロパティ名です。
ref String 任意 property属性と同じ値 参照するリクエストパラメータ名です。
required boolean 任意 false trueを設定すると、値がnullまたは空文字列だった場合にバリデーションエラーになります。
display-name String 任意 なし このプロパティの表示名をリソース名で指定します。ここで設定した値はバリデータのエラーメッセージで使用されます。省略した場合、エラーメッセージにはプロパティ名が表示されます。

input-resource

属性名 必要性 省略値 説明
property String 必須   値をセットする対象となるプロパティ名です。
ref String 任意 property属性と同じ値 参照するリソースの名前です。
required boolean 任意 false trueを設定すると、値がnullまたは空文字列だった場合にバリデーションエラーになります。
display-name String 任意 なし このプロパティの表示名をリソース名で指定します。ここで設定して値はバリデータの標準エラーメッセージで使用されます。省略した場合、エラーメッセージにはプロパティ名が表示されます。

validation

属性名 必要性 省略値 説明
name String 必須   バリデーションの名前です。ほかのvalidationのdepends属性で参照するときに使われます。
properties String 必須   検証するプロパティ名を空白区切りのリストで指定します。
type String 必須  

バリデータのタイプです。指定できるバリデータは以下の通りです。

バリデータタイプ

説明 標準エラーメッセージID
byte 値がbyte型かどうか調べます error.validation.byte
short 値がshort型かどうか調べます error.validation.short
int 値がint型かどうか調べます error.validation.int
long 値がlong型かどうか調べます error.validation.long
float 値がfloat型かどうか調べます error.validation.float
double 値がdouble型かどうか調べます error.validation.double
string 指定の文字列形式であることを検証します error.validation.string
required nullまたは空文字でないことを検証します error.validation.required
range 値が指定された範囲の数値であることを検証します error.validation.minrange (下限だけが制限されているとき)
error.validation.maxrange (上限だけが制限されているとき)
error.validation.range (上限、下限が制限されているとき)
length 値が指定された範囲の長さの文字列であることを検証します error.validation.minlength (下限だけが制限されているとき)
error.validation.maxlength (上限だけが制限されているとき)
error.validation.length (上限、下限が制限されているとき)
date 値が正しい日付であることを検証します error.validation.date
simple-date 値が指定された形式の日付であることを検証します error.validation.simpledate
mail-address 値が正しいメールアドレスの形式かどうか調べます error.validation.mailaddress
postal-code 値が正しい郵便番号の形式であることを検証します error.validation.postalcode
credit-card 値が正しいクレジットカードの形式であることを検証します error.validation.creditcard
filetype アップロードされたファイルの名前が指定の拡張子かどうか調べます error.validation.filetype (ファイルタイプの指定が一つのとき)
error.validation.filetypes (複数のファイルタイプが指定されているとき)
class class属性で指定したバリデータで値を検証します  
class String type属性がclassの時は必須 なし type属性が"class"のとき、検証を行うバリデータクラスを指定します。
depends String 任意 なし ほかのバリデータでエラーがなかったときだけ検証を行いたい場合に指定します。バリデータ名を空白区切りで記述します。ほかのオブジェクトのバリデータを指定することはできません。
message String 任意 バリデータの標準エラーメッセージ バリデーションエラーのメッセージです。リソースIDで指定します。省略したときはバリデータの標準メッセージとなります。この標準メッセージはリソースを定義することで上書きできます。

ネスト可能な要素

input, input-param, input-literal, input-resource

各設定ファイルで共通の要素

resources

属性名 必要性 省略値 説明
lang String 任意 なし この要素の下のresource要素でlang属性を省略したときに参照される言語名です。ja_JPのようにJavaのロケールの形式で記述します。

ネスト可能な要素

resoure

resource

属性名 必要性 省略値 説明
name String 必須   リソース名です。
lang String 任意 resources要素で指定した値 このリソースの言語です。ja_JPのようにJavaのロケールの形式で記述します。

ネスト可能な要素

テキスト

$Id: reference.html 220 2007-07-16 10:32:15Z sugimotokenichi $