Struts2 注释类型

Struts2 应用程序可以使用Java5注释来替代XML和Java属性的配置。以下是与不同类别相关的最重要注释的列表:

 

Namespace注释(Action注释)

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

 

 

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

  

Result注释(Action注释)

@Result注释允许在Action类中定义Action的结果,而不是XML文件。

 

 

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

  

Results注释(Action注释)

@Results注释定义了一个Action的一组结果。

 

 

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

  

After注释(拦截器注释)

@After注释标记需要在执行主action方法和结果后调用的action方法(忽略返回值)。

 

 

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注释(拦截器注释)

@Before注释标记需要在执行主action方法和结果之前调用的action方法(忽略返回值)。

 

 

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注释标记需要在结果之前执行的action方法(忽略返回值)。

 

 

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注释(验证注释)

此验证注释检查具有指定范围内值的双字段。如果既不设置min也不设置max,则不会执行任何操作。

 

 

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注释(验证注释)

如果该字段包含非空字符串,则该验证注释将检查该字段是否为有效的电子邮件地址。

 

 

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注释(验证注释)

此验证注释检查数字字段是否具有指定范围内的值。如果既不设置min也不设置max,则不会执行任何操作。

 

 

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注释(验证注释)

此验证注释检查String字段不为空(即非null,长度大于0)。

 

 

public class Employee extends ActionSupport{

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

  

StringLengthFieldValidator注释(验证注释)

此验证器检查字符串字段是否具有正确的长度,它假定该字段是一个字符串。如果既没有设置minLength也没有设置maxLength,则不会执行任何操作。

 

 

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注释(验证注释)

如果要使用多个相同类型的注释,这些注释必须嵌套在@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注释提供其他参数。

 

 

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

  

Conversion注释(类型转换注释)

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

 

 

@Conversion()
   public class ConversionAction implements Action {
}

  

CreateIfNull注释(类型转换注释)

此注释为类型转换设置CreateIfNull。CreateIfNull注释必须在字段或方法级别应用。

 

 

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

  

Element注释(类型转换注释)

此注释设置类型转换的元素。Element注释必须在字段或方法级别应用。

 

 

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

  

Key注释(类型转换注释)

此注释设置类型转换的key。Key注释必须在字段或方法级别应用。

 

 

@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;
}

  

posted @ 2017-08-07 11:25  中和王  阅读(479)  评论(0编辑  收藏  举报