转载

Struts2 注释类型

   

Struts 2 应用程序可以使用Java5注释作为替代XML和Java属性配置。这里是清单的不同的类别有关的最重要的注解:

命名空间注释(动作注释):

@ Namespace注释允许在Action类中,而不是基于零配置的约定动作的命名空间的定义。

 @Namespace("/content") public class Employee extends ActionSupport{   ... }

结果注释 - (动作译注):

@ Result注解允许在Action类中,而不是一个XML文件中定义的动作结果。

 @Result(name="success", value="/success.jsp") public class Employee extends ActionSupport{  ... }

结果注释 - (动作译注):

@ Results注解定义了一套动作的结果。

 @Results({    @Result(name="success", value="/success.jsp"),    @Result(name="error", value="/error.jsp") }) public class Employee extends ActionSupport{  ... }

注释后(拦截注释):

@After注解标志着一个需要调用后的主要操作方法和执行结果的操作方法。返回值将被忽略。

 public class Employee extends ActionSupport{    @After    public void isValid() throws ValidationException {       // validate model object, throw exception if failed    }    public String execute() {       // perform secure action       return SUCCESS;    } }

注释之前(拦截注释):

@ Before注释标记需要一个操作方法的主要操作方法之前被调用执行结果。返回值将被忽略。

 public class Employee extends ActionSupport{    @Before    public void isAuthorized() throws AuthenticationException {       // authorize request, throw exception if failed    }    public String execute() {       // perform secure action       return SUCCESS;    } }

BeforeResult注释 - (拦截注释):

@ BeforeResult注解标志着一个结果之前需要执行的操作方法。返回值将被忽略。

 public class Employee extends ActionSupport{    @BeforeResult    public void isValid() throws ValidationException {     // validate model object, throw exception if failed    }     public String execute() {       // perform action       return SUCCESS;    } }

ConversionErrorFieldValidator注释 - (验证译注):

此验证注解如果有任何转换错误进行了实地检查,并适用于他们,如果他们存在。

 public class Employee extends ActionSupport{    @ConversionErrorFieldValidator(message = "Default message",                          key = "i18n.key", shortCircuit = true)    public String getName() {        return name;    } }

DateRangeFieldValidator注释 - (验证译注):

这验证注解检查日期字段的值在指定范围内。

 public class Employee extends ActionSupport{    @DateRangeFieldValidator(message = "Default message",     key = "i18n.key", shortCircuit = true,     min = "2005/01/01", max = "2005/12/31")    public String getDOB() {        return dob;    } }

DoubleRangeFieldValidator注释 - (验证译注):

此验证注解检查双字段有一个值,该值在指定范围内。如果既不最小或最大,什么都不会做的。

 public class Employee extends ActionSupport{     @DoubleRangeFieldValidator(message = "Default message",     key = "i18n.key", shortCircuit = true,     minInclusive = "0.123", maxInclusive = "99.987")    public String getIncome() {        return income;    } }

EmailValidator注释 - (验证译注):

这验证注解检查一个字段是一个有效的E-mail地址,如果它包含一个非空的字符串。

 public class Employee extends ActionSupport{     @EmailValidator(message = "Default message",     key = "i18n.key", shortCircuit = true)    public String getEmail() {        return email;    } }

ExpressionValidator注释 - (验证译注):

这种非字段级验证验证所提供的正则表达式。

 @ExpressionValidator(message = "Default message", key = "i18n.key",  shortCircuit = true, expression = "an OGNL expression" )

IntRangeFieldValidator注释 - (验证译注):

这验证注解检查一个数字字段的值在指定的范围内。如果既不最小或最大,什么都不会做的。

 public class Employee extends ActionSupport{     @IntRangeFieldValidator(message = "Default message",     key = "i18n.key", shortCircuit = true,     min = "0", max = "42")    public String getAge() {        return age;    } }

RegexFieldValidator 注释 - (验证译注):

这个注解验证一个字符串字段,使用正则表达式。

 @RegexFieldValidator( key = "regex.field", expression = "yourregexp")

RequiredFieldValidator 注释 - (验证译注):

这验证注解检查一个字段不为空。标注必须被应用在方法层面。

 public class Employee extends ActionSupport{     @RequiredFieldValidator(message = "Default message",     key = "i18n.key", shortCircuit = true)    public String getAge() {        return age;    } }

RequiredStringValidator注释 - (验证译注):

这验证注解检查一个字符串字段不为空(即非空,长度> 0)。

 public class Employee extends ActionSupport{     @RequiredStringValidator(message = "Default message",     key = "i18n.key", shortCircuit = true, trim = true)    public String getName() {        return name;    } }

StringLengthFieldValidator注释 - (验证译注):

这个验证检查字符串字段是合适的长度。假定该字段是一个字符串。如果设置既不是minLength 也不是最大长度,什么都不会做。

 public class Employee extends ActionSupport{     @StringLengthFieldValidator(message = "Default message",     key = "i18n.key", shortCircuit = true,     trim = true, minLength = "5",  maxLength = "12")    public String getName() {        return name;    } }

UrlValidator注释 - (验证译注):

这个验证检查一个字段是一个有效的URL。

 public class Employee extends ActionSupport{     @UrlValidator(message = "Default message",     key = "i18n.key", shortCircuit = true)    public String getURL() {        return url;    } }

验证注释 - (验证译注):

如果想使用多个相同类型的注释,这些注释必须嵌套在@Validations() 注释。

 public class Employee extends ActionSupport{    @Validations(    requiredFields =       {@RequiredFieldValidator(type = ValidatorType.SIMPLE,        fieldName = "customfield",        message = "You must enter a value for field.")},    requiredStrings =       {@RequiredStringValidator(type = ValidatorType.SIMPLE,        fieldName = "stringisrequired",        message = "You must enter a value for string.")}    )    public String getName() {        return name;    } }

CustomValidator注释 - (验证译注):

这个注解可以用于自定义验证。使用ValidationParameter的注释,以提供额外的 params.

 @CustomValidator(type ="customValidatorName", fieldName = "myField")

转换注释 - (类型转换注释):

这是一个标记注释类型转换类型级别。转换注释必须应用在类型级别。

 @Conversion()    public class ConversionAction implements Action { }

CreateIfNull注释 - (类型转换注释):

这个注解设置类型转换CreateIfNull。必须应用在域或方法级CreateIfNull注解。

 @CreateIfNull( value = true ) private List<User> users;

元素注释 - (类型转换注释):

这个注解设置元素进行类型转换。必须应用在字段域或方法级元素的注解。

 @Element( value = com.acme.User ) private List<User> userList;

关键注释 - (类型转换注释):

这个注解设置进行类型转换的关键。必须应用在域或方法级的关键注解。

 @Key( value = java.lang.Long.class ) private Map<Long, User> userMap;

KeyProperty注释 - (类型转换注释):

这个注解设置类型转换KeyProperty。必须应用在域或方法级KeyProperty注解。

 @KeyProperty( value = "userName" ) protected List<User> users = null;

TypeConversion注释 - (类型转换注释):

这个注解的注解是用于类和应用程序的转换规则。注解可以应用于TypeConversion在属性和方法的级别。

 @TypeConversion(rule = ConversionRule.COLLECTION,  converter = "java.util.String") public void setUsers( List users ) {    this.users = users; }
   
正文到此结束
Loading...