Struts2的输入验证 一.验证分类: 1. 服务器端验证(Java代码来完成验证(Struts的内置验证框架,可以完成服务器端验证))。 2. 客户端验证(js验证——在客户端执行,执行的时候依赖与客户度(手动js验证,jquery验证框架进行验证)) 二.Struts的内置验证框架: Struts2中验证有两种方式: 1. 手动验证。 2. 配置验证框架,自动验证。 三.内置验证框架使用步骤: 1. 需要验证的Action必须继承自ActionSupport类。 2. 创建验证配置文件。 要求:a) 配置文件必须和action在同一目录。 b) 文件名的格式必须是:Action类名-validation.xml(验证Action中的所有方法) Action类名-访问Action的名字-validation.xml(只会验证Action中指定的方法) 3. 查看内置验证器:xwork-XXXXX.jar目录中(找到default.xml配置文件) 特别需要注意: 1. 使用了验证器之后,如果验证失败;必须配置<result name=”input”></result>表示验证失败之后,跳转的页面。 2. 如果jsp页面中使用了,Struts的标签;那么必须让这个jsp页面必须经过struts的核心过滤器,进行过滤;否则页面不能正常解析struts的标签。 3. 基本数据类型,不能使用Struts的内置验证,建议使用包装类。 四.手动验证步骤: 1. 继承ActionSupport,重写validate()方法。 在执行Action中具体的方法之前,会先执行validate()方法;如果有错误,则返回input指定的页面。(有错误:super.addFiledError()) 手动验证总结: 1. 可以在实体中的setXxx()方法进行控制。 2. 在validate()方法中进行验证。
在struts2中进行类型转换 :
在该字段的实体中
private Integer age;
public Integer getAge() {
return age;
}
public void setAge(Object age) {
String str_age = age+"";
if(str_age.matches("[0-9]+")){
this.age = Integer.parseInt(str_age);
}
else{
this.age = 0;
}
}