Struts 2 - 注解类型



Struts 2 应用程序可以使用 Java 5 注解作为 XML 和 Java 属性配置的替代方案。以下是与不同类别相关的最重要的注解列表:

命名空间注解(Action 注解)

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

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

结果注解 -(Action 注解)

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

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

结果集注解 -(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 注解 -(验证注解)

此验证注解检查双精度字段的值是否在指定范围内。如果既没有设置最小值也没有设置最大值,则不会执行任何操作。

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

此验证注解检查数值字段的值是否在指定范围内。如果既没有设置最小值也没有设置最大值,则不会执行任何操作。

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

此验证器检查字符串字段的长度是否正确。它假设该字段为字符串。如果既没有设置最小长度也没有设置最大长度,则不会执行任何操作。

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 注解必须应用于字段或方法级别。

@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;
}
struts_annotations.htm
广告

© . All rights reserved.