最近由于项目需要,又来了解Struts2注解。
在我们头得正确领导下,还是把这个东西弄出来了。大家一起参考下。
/**
* @fun
* @author summer
* @date 2011-8-8 15:45:41
* @remark
*/
@ParentPackage("json-default")
@Namespace("/struts/test")
@Results({
@Result(name="success",location="/sp/test/result.jsp"),
@Result(name="input",location="/bjsp/test/error.jsp"), //拦截不符合条件,默认返回input
@Result(name="test2",type="json",params={"root","test"})
})
@Validation()
public class TestAction{
/**
*
*/
private static final long serialVersionUID = 1L;
private TestEntity test = new TestEntity();
@Action(value="validate_test1",params={"test.flag","1"})
public String test1(){
System.out.println("***************test1*************");
return SUCCESS;
}
@Action("validate_test2")
@SkipValidation //该方法使用实体类时不使用校验
public String test2(){
System.out.println("***************test2*************");
return "test2";
}
@VisitorFieldValidator() //用实体类获取数据时开启验证
public TestEntity getTest() {
return test;
}
public void setTest(TestEntity test) {
this.test = test;
}
}
/**
* @fun 实体类
* @author summer
* @date 2011-8-8 15:50:46
* @remark
*/
@Entity
@Table(name="TBL_TEST",schema="summer")
public class TestEntity implements java.io.Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private Long id;
private String name;
private String email;
private String phone;
private String memo;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator="SUMMER.AUTO_ID")
@SequenceGenerator(name="SUMMER.AUTO_ID",sequenceName="SUMMER.AUTO_ID",allocationSize=1,initialValue=1)
@Column(name="TBTE_PK")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name="TBTE_NAME")
public String getName() {
return name;
}
@RequiredStringValidator(type = ValidatorType.FIELD, message = "You must enter a value for name.")
@StringLengthFieldValidator(minLength="6",maxLength="32",shortCircuit =true,trim = true, message = "name length must be between ${minLength} and ${maxLength}, current is ${name.length()}.")//判断长度
public void setName(String name) {
this.name = name;
@Column(name="TBTE_EMAIL")
public String getEmail() {
return email;
}
@RequiredStringValidator(type = ValidatorType.FIELD, message = "You must enter a value for Email.")
@EmailValidator(message = "Email 格式不对")//email校验
public void setEmail(String email) {
this.email = email;
}
@Column(name="TBTE_PHONE")
public String getPhone() {
return phone;
}
@RequiredStringValidator(type = ValidatorType.FIELD, message = "You must enter a value for phone.")//不能为空
@RegexFieldValidator(expression="13\\d{9}",message="电话号码不对")//电话号码校验
public void setPhone(String phone) {
this.phone = phone;
}
@Column(name="TBTE_MEMO")
@JSON(serialize = false)
public String getMemo() {
return memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
}
分享到:
相关推荐
3. **配置校验规则**:Struts2的校验规则可以通过XML或注解方式定义。XML方式通常在struts.xml或相应的action类配置文件中定义,而注解方式则直接在Action类的属性上标注,例如使用`@RequiredString`、`@Size`等。 ...
- **使用JSR 303/JSR 349 Bean Validation**:Struts2也支持使用JSR 303(JavaBeans Validation)或JSR 349(Bean Validation 1.1)标准的注解进行校验。这些注解可以直接在Action类的字段上声明,如`@NotNull`, `@...
Struts2提供了多种方式进行输入校验,包括Action级别校验、拦截器级别校验以及基于Validator框架的校验。 二、Action级别校验 Action级别校验是在Action类中定义校验逻辑,通常通过在Action类的属性上添加注解实现...
在Struts2中,输入校验是确保数据安全、准确和有效的重要环节。本篇文章将深入探讨Struts2的输入校验机制及其相关知识点。 **输入校验的重要性** 输入校验是Web应用开发中的关键步骤,它可以防止恶意用户提交无效或...
Struts2提供了注解`@Valid`和一系列的校验注解,如`@NotBlank`, `@Size`, `@Min`, `@Max`等。例如: ```java public class UserAction { @NotBlank(message = "用户名不能为空") private String username; @...
使用Struts2的`@Validated`注解标记Action类,表明需要进行数据校验。 5. **校验结果处理** 当数据校验失败时,Struts2会自动将错误信息放入ActionContext,可以通过`ActionContext.getErrorMessages()`获取这些...
Struts2提供了多种数据校验方式,包括基于注解的校验、基于XML配置的校验和自定义校验。 1. **基于注解的校验**: Struts2集成Spring的Validation框架,允许开发者在Action类的属性上使用JSR303/JSR349(Bean ...
Struts2提供了多种进行输入校验的方式,包括Action级别校验、Validator框架校验、拦截器校验以及使用JSR303/JSR349 Bean Validation标准。这些方法可以单独使用,也可以结合使用,以满足不同项目的需求。 1. Action...
在Struts2中,数据校验是保证应用程序数据质量的重要环节。短路校验,也称为客户端校验,是一种优化用户体验的策略,它在用户提交表单前就在浏览器端进行数据校验,如果发现错误,会立即反馈给用户,避免了不必要的...
Struts2默认支持基于XML的`struts-plugin.xml`和基于注解的`@Validated`方式来定义校验规则。 3. **校验配置文件**:XML校验文件(如`validation.xml`)用于定义字段的验证规则,例如: ```xml 用户名不能...
综上所述,"struts2登陆校验"涉及到Struts2框架的用户输入验证机制,包括XML配置和注解方式的校验规则定义,以及动态校验和错误处理机制。理解并熟练运用这些知识,可以有效地确保登录过程的安全性和用户体验。在...
在Spring和Struts2联合使用时,可以利用Spring的`@Validated`注解来进行数据校验,结合Struts2的验证机制,提供更灵活的验证方案。 总结,Struts2的数据校验功能强大且灵活,通过XML配置或注解方式定义验证规则,...
Struts 2的数据校验还可以通过注解方式进行,使用@FieldCheck、@Validations等注解来指定字段的校验规则。这种方式更加直观,减少了代码量,但可能需要额外的库支持。 为了处理更复杂的数据校验场景,Struts 2支持...
- 在Action类中,定义需要校验的字段,并添加`@Validated`注解或者使用Struts2的XML配置文件来指定需要校验的属性。 - 创建一个ValidatorForm或者继承ActionSupport的Action类,这些类包含了内置的校验逻辑。 - ...
Struts2的数据校验主要通过Action类的属性注解和Validation.xml配置文件来实现。开发者可以使用注解的方式在Action类的属性上直接定义校验规则,例如`@NotEmpty`用于检查非空,`@Size(max=10)`用于限制字符串长度等...
对于动态或者复杂的数据校验需求,Struts2允许在运行时根据不同的请求参数选择不同的校验规则。这可以通过在validate()方法内进行条件判断来实现。 4. 国际化: Struts2支持国际化校验错误消息,只需在资源文件...
- 开发者可以创建自己的校验注解,实现特定的校验逻辑,这需要实现`Validator`接口并注册到Struts2的校验框架中。 7. ** strut2-dojo-plugin集成** - Struts2还提供了与Dojo JavaScript库的集成,可以实现客户端...
"struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其功能至关重要。 标题中的"struts2-convention-plugin-2.1.8.1.jar"是Struts2的约定插件(Convention Plugin)的一个特定...