Menu

アノテーションリファレンス

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属性の値を指定します。