Menu

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

SAStrutsで使われているアノテーションの説明をします。

一般的なアノテーション

一般的なアノテーションです。

Executeアノテーション

実行メソッドにつけるアノテーションです。 実行メソッドの詳細は、こちらを参照してください。

validator属性(オプション)

検証用のアノテーションを有効にするかどうかを指定します。 デフォルトはtrue(有効)です。 trueの場合は、input属性も指定する必要があります。 バリデータの詳細は、こちらを参照してください。

validate属性(オプション)

検証メソッドの名前を指定します。 名前を指定した場合は、input属性も指定する必要があります。 検証メソッドの詳細は、こちらを参照してください。

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が スローされます。

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の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の詳細は、こちらを参照してください。

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