アノテーションリファレンス
SAStrutsで使われているアノテーションの説明をします。
一般的なアノテーション
一般的なアノテーションです。
Executeアノテーション
実行メソッドにつけるアノテーションです。 実行メソッドの詳細は、こちらを参照してください。
validator要素(オプション)
検証用のアノテーションを有効にするかどうかを指定します。 デフォルトはtrue(有効)です。 trueの場合は、input要素も指定する必要があります。 バリデータの詳細は、こちらを参照してください。
validate要素(オプション)
検証メソッドの名前を指定します。 名前を指定した場合は、input要素も指定する必要があります。 検証メソッドの詳細は、こちらを参照してください。
カンマ区切りで検証メソッドを複数指定することもできます。 指定した順番で検証が行なわれます。 通常は、アノテーションを使った検証、検証メソッドの順で検証が行なわれますが、 、validate="validate, @, validate2"のように@を指定することで、 validateメソッドを実行した後に、アノテーションを使った検証を行なうこともできます。 @はアノテーションを使った検証をあらわします。
input要素(オプション)
検証結果がNGのときの遷移先を指定します。 validator要素がtrue、あるいは、validate要素が指定された場合は、 必ず指定する必要があります。 遷移先のパスの記述は、実行メソッドの戻り値の書き方に加えて、 urlPattern要素のようにパラメータをパス({パラメータ名})で指定することもできます。
saveErrors要素(オプション)
検証結果がNGのときのActionMessagesの保存先を指定します。 デフォルトはSaveType.REQUESTです。 セッションに保存する場合は、SaveType.SESSIONを指定します。
urlPattern要素(オプション)
urlPatternに一致するメソッドが呼び出されるようにします。
デフォルトは、メソッド名になります。
URLがhttp://localhost:8080/sa-struts-tutorial/employee/edit/の場合、
URLからアクションのパス(http://localhost:8080/sa-struts-tutorial/employee/)を除き(edit/)
最後の/を取り除いた部分(edit)がパラメータ用のパスになります。
パラメータ用のパスとurlPatternが一致したメソッドが呼び出されるので、
今回の例だとedit()が呼び出されます。
urlpatternに{パラメータ名}を指定することで、URLで{}に一致する部分を パラメータの値として取得できます。 例えば、次のようにEmployeeAction#edit()が定義されているとします。
@Execute(urlPattern = "edit/{id}") public String edit() { ... }
http://localhost:8080/sa-struts-tutorial/employee/edit/1にアクセスすると パラメータ用のパスは、edit/1になるので、idのパラメータに1が設定されて、 edit()が呼び出されます。
roles要素(オプション)
実行メソッドを呼び出すために必要なロールを設定します。 複数設定する場合は、カンマ(,)で区切ります。 rolesが指定されていない場合は、チェックは行なわれません。
@Execute(..., roles = "aaa,bbb") public String edit() { ... }
チェックがNGの場合、org.seasar.struts.exception.NoRoleRuntimeExceptionが スローされます。
stopOnvalidationError要素(オプション)
検証エラーがあった場合に後続の検証をやめるかどうかを指定します。 デフォルトはtrueで、validatorなどでエラーがあると後続の検証メソッドは実行しません。 falseの場合は、validatorなどでエラーがあっても後続の検証メソッドを続けて実行します。
removeActionForm要素(オプション)
実行メソッドが正常終了したときに、セッションスコープのアクションフォームを 削除するかどうかを指定します。 デフォルトはfalseで、削除はしません。
reset要素(オプション)
リセットメソッド の名前を指定します。デフォルトは、resetです。
redirect要素(オプション)
遷移先にリダイレクトで遷移するかどうかを指定します。 デフォルトはfalseで、リダイレクトはしません。
ActionFormアノテーション
アクションフォームを指定するためのアノテーションです。 アクションフォームの詳細は、こちらを参照してください。
検証用のアノテーション
commons validator を使った検証用のアノテーションです。
Requiredアノテーション
必須チェック用のアノテーションです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.required")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
Validwhenアノテーション
条件に一致するかどうかを確認するためのアノテーションです。 antlr.jarが必要になります。
test要素(必須)
条件を指定します。 自分自身のプロパティの値は*this*で参照します。
あるプロパティ(validwhen1Text)が入力された場合は、 自分自身も入力しなければいけないような場合、 次のように指定します。
@Validwhen(test = "((validwhen1Text == null) or (*this* != null))", msg = @Msg(key = "errors.required.other"), args = @Arg(key = "validwhen1Text", resource = false, position = 1))
msg要素(必須)
検証がNGの場合のメッセージを指定します。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
args要素(オプション)
メッセージの引数(@Arg)を配列で指定します。 @Argの詳細は、こちらを参照してください。 @Argのposition要素の指定は忘れないようにしてください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
Minlengthアノテーション
文字列長の最小値を指定するためのアノテーションです。
minlength要素(必須)
文字列長の最小値を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.minlength")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
arg1要素(オプション)
メッセージの2番目の引数を指定します。 デフォルトはminlength要素で指定した値です。 @Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
Maxlengthアノテーション
文字列長の最大値を指定するためのアノテーションです。
maxlength要素(必須)
文字列長の最大値を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.maxlength")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
arg1要素(オプション)
メッセージの2番目の引数を指定します。 デフォルトはmaxlength要素で指定した値です。 @Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
Minbytelengthアノテーション
バイト長の最小値を指定するためのアノテーションです。
minbytelength要素(必須)
バイト長の最小値を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.minbytelength")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
arg1要素(オプション)
メッセージの2番目の引数を指定します。 デフォルトはminbytelength要素で指定した値です。 @Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
Maxbytelengthアノテーション
バイト長の最大値を指定するためのアノテーションです。
maxbytelength要素(必須)
バイト長の最大値を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.maxbytelength")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
arg1要素(オプション)
メッセージの2番目の引数を指定します。 デフォルトはmaxbytelength要素で指定した値です。 @Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
Maskアノテーション
正規表現に一致するかどうかを確認するためのアノテーションです。 jakarta-oro.jarが必要になります。
mask要素(必須)
正規表現を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.invalid")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
args要素(オプション)
メッセージの引数(@Arg)を配列で指定します。 @Argの詳細は、こちらを参照してください。 @Argのposition要素の指定は忘れないようにしてください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
IntRangeアノテーション
整数の範囲を指定するためのアノテーションです。
min要素(必須)
最小値を指定します。
max要素(必須)
最大値を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.range")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
arg1要素(オプション)
メッセージの2番目の引数を指定します。 デフォルトはmin要素で指定した値です。 @Argの詳細は、こちらを参照してください。
arg2要素(オプション)
メッセージの3番目の引数を指定します。 デフォルトはmax要素で指定した値です。 @Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
LongRangeアノテーション
長整数の範囲を指定するためのアノテーションです。
min要素(必須)
最小値を指定します。
max要素(必須)
最大値を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.range")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
arg1要素(オプション)
メッセージの2番目の引数を指定します。 デフォルトはmin要素で指定した値です。 @Argの詳細は、こちらを参照してください。
arg2要素(オプション)
メッセージの3番目の引数を指定します。 デフォルトはmax要素で指定した値です。 @Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
FloatRangeアノテーション
単精度実数の範囲を指定するためのアノテーションです。
min要素(必須)
最小値を指定します。
max要素(必須)
最大値を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.range")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
arg1要素(オプション)
メッセージの2番目の引数を指定します。 デフォルトはmin要素で指定した値です。 @Argの詳細は、こちらを参照してください。
arg2要素(オプション)
メッセージの3番目の引数を指定します。 デフォルトはmax要素で指定した値です。 @Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
DoubleRangeアノテーション
倍精度実数の範囲を指定するためのアノテーションです。
min要素(必須)
最小値を指定します。
max要素(必須)
最大値を指定します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.range")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
arg1要素(オプション)
メッセージの2番目の引数を指定します。 デフォルトはmin要素で指定した値です。 @Argの詳細は、こちらを参照してください。
arg2要素(オプション)
メッセージの3番目の引数を指定します。 デフォルトはmax要素で指定した値です。 @Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
ByteTypeアノテーション
Byte型に変換できることを検証するためのアノテーションです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.byte")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
ShortTypeアノテーション
Short型に変換できることを検証するためのアノテーションです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.short")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
IntegerTypeアノテーション
Integer型に変換できることを検証するためのアノテーションです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.integer")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
LongTypeアノテーション
Long型に変換できることを検証するためのアノテーションです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.long")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
FloatTypeアノテーション
Float型に変換できることを検証するためのアノテーションです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.float")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
DoubleTypeアノテーション
Double型に変換できることを検証するためのアノテーションです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.double")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
DateTypeアノテーション
Date型に変換できることを検証するためのアノテーションです。
datePattern要素(オプション)
日付のパターンを指定します。
datePatternStrict要素(オプション)
厳密な日付のパターンを指定します。 例えば、yyyy/MM/ddと指定した場合、2008/01/01はOKですが、 2008/1/1は、月や日の部分の桁数が指定と違うのでNGになります。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.date")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
CreditCardTypeアノテーション
クレジットカード番号を検証するためのアノテーションです。 番号はデリミタ(-とかブランクとか)無しで入力します。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.creditcard")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
EmailTypeアノテーション
Emailアドレスを検証するためのアノテーションです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.email")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
UrlTypeアノテーション
URLを検証するためのアノテーションです。
allowallschemes要素(オプション)
すべてのスキームを許可するかどうかです。 デフォルトはfalse(許可しない)です。
allow2slashes要素(オプション)
ダブルスラッシュ(//)を許可するかどうかです。 デフォルトfalseは(許可しない)です。
nofragments要素(オプション)
URLの分割(#を含める)を許可するかどうかです。 デフォルトはfalse(許可する)です。
schemes要素(オプション)
許可するスキームを指定します。複数ある場合は、カンマで区切ります。 デフォルトはhttp,https,ftpです。
msg要素(オプション)
検証がNGの場合のメッセージを指定します。 デフォルトは@Msg(key = "errors.url")です。 @Msgの詳細は、こちらを参照してください。
arg0要素(オプション)
メッセージの最初の引数を指定します。
デフォルトはプロパティ名です。
プロパティ名を多言語化する場合は、
メッセージリソースに
labels.プロパティ名=xxxのエントリを追加します。
@Argの詳細は、こちらを参照してください。
target要素(オプション)
検証の対象にするメソッド名を指定します。 対象にするメソッドが複数ある場合は、カンマで区切ります。
Msgアノテーション
メッセージを指定するためのアノテーションです。
key要素(必須)
resource要素がtrueの場合は、 メッセージリソースに登録されている キーを指定します。 resource要素がfalseの場合は、メッセージそのものを指定します。
resource要素(オプション)
メッセージがメッセージリソースに 登録されているかどうかを指定します。 デフォルトはtrue(登録されている)です。
bundle要素(オプション)
リソースバンドルを指定します。
Argアノテーション
メッセージの引数を指定するためのアノテーションです。
key要素(必須)
resource要素がtrueの場合は、 メッセージリソースに登録されている キーを指定します。 resource要素がfalseの場合は、引数そのものを指定します。
@Arg(key = "${var:minlength}", resource = false)のようにvar:の後に、 変数名を指定することで、変数の値をメッセージの引数として利用できます。
resource要素(オプション)
引数がメッセージリソースに 登録されているかどうかを指定します。 デフォルトはtrue(登録されている)です。
bundle要素(オプション)
リソースバンドルを指定します。
position要素(オプション)
引数の位置を指定します。 値は0からはじまります。
Validatorアノテーション
検証用のアノテーションにつけるメタアノテーションです。 検証用のアノテーションのmsg、arg0, arg1, ..., args, target要素は、 あらかじめ決められたとおりに処理されます。 それ以外の要素は、バリデータに対する変数とみなされます。
value要素(必須)
validator-rules.xmlの記述されているvalidatorタグのname属性の値を指定します。