下面对SAStruts使用的注释(Annotation)进行说明。
一般类型的注释
一般类型的注释。
Execute注释
对执行方法的注释。 执行方法的详细请参考这里。
validator元素(可选)
指定验证注释是否有效。默认为有效(true)。true的时候,必须指定input元素。 验证的详细请参考这里。
validate元素(可选)
指定验证方法的方法名。 検証メソッドの名前を指定します。 使用时必须指定input元素。 验证方法的详细,请参考这里。
多个验证方法可以用逗号隔开。按照从左到右的顺序,依次执行定义的验证方法。 如果像这样定义validate="validate, @, validate2"、 在执行完validate方法后,将执行注释式的验证,然后再执行validate2方法。
input元素(可选)
验证结果为NG时跳转的页面,validator为true或者指定了validate元素的时候,必须指定。 跳转路径可以像実行执行方法的返回值然后加上urlPattern元素一样可以添加参数({参数名})。
saveErrors元素(可选)
验证结果为NG时,指定ActionMessages保存的场所。 默认为SaveType.REQUEST。 如果保存在Session里,指定为SaveType.SESSION。
urlPattern要素(可选)
调用urlPattern一致的方法。 默认为方法名
URLがhttp://localhost:8080/sa-struts-tutorial/employee/edit/の場合、
这回的例子为edit()。
urlpattern可以指定{参数名},URL和{}一致的部分作为参数的值取得。 例如,如下的EmployeeAction#edit()定义。
@Execute(urlPattern = "edit/{id}") public String edit() { ... }
访问http://localhost:8080/sa-struts-tutorial/employee/edit/1时, 参数id的值设为1,然后调用edit()方法。
roles元素(可选)
可以设定调用执行方法必须的角色。 可以用逗号分割指定多个角色。 没有指定的时候,不进行检查。
@Execute(..., roles = "aaa,bbb") public String edit() { ... }
如果NG的时候抛出异常org.seasar.struts.exception.NoRoleRuntimeException。
stopOnvalidationError元素(可选)
指定验证出错时放弃后续的验证。 默认为true,如果为false时,validator等发生错误也继续进行后续的验证。
removeActionForm元素(可选)
指定执行方法正常结束时,是否删除Session里保存的ActionForm。 默认为false,不删除。
reset元素(可选)
指定reset方法的方法名。默认为rest。
redirect元素(可选)
指定是否进行重定向。 默认为false,不进行重定向。
ActionForm注释
指定ActionForm的注释。Action的详细信息请参照这里。
验证用的注释
使用commons validator的验证用的注释。
Required注释
是否必须检测的注释。
msg元素(可选)
指定验证NG时的错误信息。 默认为@Msg(key = "errors.required")。@Msg的详细,请参考这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
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元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
args元素(可选)
指定消息的参数数组。@Arg的详细信息请参照这里。 不要忘记指定@Arg的position元素。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
Minlength注释
指定字符串最小长度。
minlength元素(必须)
字符串的最小长度。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.minlength")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
arg1元素(可选)
指定消息的第2个变量。 默认为minlength元素指定的值。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
Maxlength注释
字符串的最大长度。
maxlength元素(必需)
字符串的最大长度。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.maxlength")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
arg1元素(可选)
指定消息的第2个变量。 默认为maxlength元素指定的值。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
Minbytelength注释
字节的最小长度。
minbytelength元素(必须)
字节的最小长度
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.minbytelength")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
arg1元素(可选)
指定消息的第2个变量。 默认为minbytelength元素指定的值。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
Maxbytelength注释
字节的最大长度。
maxbytelength要素(必須)
字节的最大长度。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.maxbytelength")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
arg1元素(可选)
指定消息的第2个变量。 默认为maxbytelength元素指定的值。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
Mask注释
和正则表达式是否一致。必须jakarta-oro.jar。
mask元素(必须)
指定正则表达式。
指定验证为NG时的信息。 默认为@Msg(key = "errors.invalid")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
args元素(可选)
指定消息的参数数组。@Arg的详细信息请参照这里。 不要忘记指定@Arg的position元素。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
IntRange注释
指定整数范围的注释。
min元素(必须)
最小值。
max元素(必须)
最大值。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.range")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
arg1元素(可选)
指定消息的第2个变量。 默认为min元素指定的值。@Arg的详细信息请参照这里。
arg2元素(可选)
指定消息的第3个变量。 默认为max元素指定的值。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
LongRange注释
指定长整形范围的注释。
min元素(必须)
最小值。
max元素(必须)
最大值。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.range")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
arg1元素(可选)
指定消息的第2个变量。 默认为min元素指定的值。@Arg的详细信息请参照这里。
arg2元素(可选)
指定消息的第3个变量。 默认为max元素指定的值。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
FloatRange注释
指定单精度实数范围的注释。
min元素(必须)
最小值。
max元素(必须)
最大值。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.range")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
arg1元素(可选)
指定消息的第2个变量。 默认为min元素指定的值。@Arg的详细信息请参照这里。
arg2元素(可选)
指定消息的第3个变量。 默认为max元素指定的值。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
DoubleRange注释
指定双精度实数范围的注释。
min元素(必须)
最小值。
max元素(必须)
最大值。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.range")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
arg1元素(可选)
指定消息的第2个变量。 默认为min元素指定的值。@Arg的详细信息请参照这里。
arg2元素(可选)
指定消息的第3个变量。 默认为max元素指定的值。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
ByteType注释
验证能否转换成Byte型的注释。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.byte")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
ShortType注释
验证能否转换成Short型的注释。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.short")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
IntegerType注释
验证能否转换成Integer型的注释。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.integer")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
LongType注释
验证能否转换成Long型的注释。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.long")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
FloatType注释
验证能否转换成Float型的注释。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.float")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
DoubleType注释
验证能否转换成Double型的注释。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.double")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
DateType注释
验证能否转换成Date型的注释。
datePattern元素(可选)
指定日期的格式。
datePatternStrict元素(可选)
指定严格的日期格式。 比如 指定yyyy/MM/dd的时候。2008/01/01可以。2008/1/1月份和日期的行数不对NG。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.date")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
CreditCardType注释
验证信用证号的注释。 号码不能带-。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.creditcard")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
EmailType注释
验证Email地址的注释。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.email")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
UrlType注释
验证URL地址的注释。
allowallschemes元素(可选)
是否允许所有的Schemes。 默认为false(不允许)。
allow2slashes元素(可选)
是否允许双斜线(//)。 默认为false(不允许)。
nofragments元素(可选)
是否允许URL的分割(包含#)。 默认为false(不允许)。
schemes元素(可选)
指定可以的Scheme。复数的情况下使用逗号分割。 默认为http,https,ftp。
msg要素(オプション)
指定验证为NG时的信息。 默认为@Msg(key = "errors.url")。@Msg的详细信息请参照这里。
arg0元素(可选)
指定消息最开始的变量。 默认是参数名。 如果需要进行I18N对应的话,在信息资源中追加
labels.参数名=xxx。@Arg的详细信息请参照这里。
target元素(可选)
需要进行验证的执行方法名。 执行方法为复数的时候,用逗号分隔。
Msg注释
指定消息的注释。
key元素(必须)
resource元素为true的时候, 指定信息资源里存在的key。resource元素为false的时候,指定信息。
resource元素(可选)
指定在信息资源里定义的信息。 默认为true(已经定义)。
bundle元素(可选)
指定resourceBundle。
Arg注释
指定信息参数的注释。
key元素(必须)
resource元素为true时, 指定在信息资源里定义好的key。resource为false时,指定变量。
像@Arg(key = "${var:minlength}", resource = false)这样,var:后面指定变量名,变量的值作为参数被利用。 変数名を指定することで、変数の値をメッセージの引数として利用できます。
resource元素(可选)
指定信息资源里定义的参数。 默认为true(已经定义)。
bundle元素(可选)
指定resourceBundle。
position元素(可选)
指定参数的位置。默认从0开始。
Validator注释
验证用的注释。验证用的msg、arg0, arg1, ..., args, target等元素,既定的值进行处理。 其他的元素,作为变量。
value元素(必须)
指定validator-rules.xml里定义的标签validator的name属性的值。