- Struts 2 教程
- Struts2 - 首页
- Struts2 - 基本 MVC 架构
- Struts2 - 概述
- Struts2 - 环境搭建
- Struts2 - 架构
- Struts2 - 示例
- Struts2 - 配置
- Struts2 - Action
- Struts2 - 拦截器
- Struts2 - 结果类型
- Struts2 - 值栈/OGNL
- Struts2 - 文件上传
- Struts2 - 数据库访问
- Struts2 - 发送邮件
- Struts2 - 验证
- Struts2 - 国际化
- Struts2 - 类型转换
- Struts2 - 主题/模板
- Struts2 - 异常处理
- Struts2 - 注解
- Struts 2 标签
- Struts2 - 控制标签
- Struts2 - 数据标签
- Struts2 - 表单标签
- Struts2 - Ajax 标签
- Struts 2 集成
- Struts2 - Spring
- Struts2 - Tiles
- Struts2 - Hibernate
- Struts 2 有用资源
- Struts2 - 问题与解答
- Struts2 - 快速指南
- Struts2 - 有用资源
- Struts2 - 讨论
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;
}