您的位置:首页 > 编程语言 > Java开发

Struts2手工编写代码实现对Action中所有方法输入校验

2012-03-15 14:25 555 查看
index.jsp

校验指定方法

public void validateUpdate() {
// 验证提交数据是否合法
if (this.username == null || "".equals(this.username.trim())) {
this.addFieldError("username", "用户名不能为空!");
}

if (this.mobile == null || "".equals(this.mobile.trim())) {
this.addFieldError("moblie", "手机号码不能为空!");
} else {
//正则表达式判断手机号码的输入格式是否正确
if (!Pattern.compile("^1[358]\\d{9}$").matcher(this.mobile)
.matches()) {
this.addFieldError("mobile", "手机号码输入格式不正确!");
}
}


输入校验流程
1、类型转换器对请求参数执行类型转换,并把转换后的值赋给action中的属性
2、如果在执行类型转换的过程中出现异常,系统会将异常信息保存到ActionContext,conversionError拦截器将异常信息添加到filedErrors里。不管类型转换是否出现异常,都会进入第3步。
3、系统通过反射技术调用action中的ValidateXxx()方法,Xxx为action里面的方法名。
4、再调用action中的alidate()方法。
5、经过上面4步,如果系统中的filedErrors存在错误信息(即存放错误信息的集合的size大于0),系统自动将请求转发到名称为input的视图。如果系统中的filedErrors没有任何错误信息,系统将执行action中的处理方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐