struts2对Action中所有方法进行输入校验(手工编写代码)
来源:互联网 发布:淘宝信用值达到多少 编辑:程序博客网 时间:2024/06/06 03:07
Struts2 中validate方法会校验action里面所有的方法,当某个数据校验失败时,应该调用addFiledError(String fieldName,errorMessage)方法添加校验失败信息,Struts2会将请求发送到名为input的result,在input视图中,可以用用<s:filederror />显示失败信息。
其实现原理大致如下:
1.Struts2类型转换器将去参数进行类型转换,通过反射技术将转换后的参数赋值给对应属性。
2.在执行类型转换的过程中出现异常,系统会将异常信息保存到ActionContext,conversionError拦截器将异常信息添加到filedErrors里。
3.Struts2通过反射调用action中的xxx()方法,在调用validate()重写的方法,将异常信息添加到addFieldError中。
4.若filedErrors存在错误信息(即存放错误信息的集合的size>0),则将请求转发到名称为input的视图。若无错误信息,则将执行处理方法。
action 代码块如下:
XxxAction extends ActionSupport
@Override
public void validate() {
if(this.userName == null || "".equals(this.userName)){
this.addFieldError("userName", "不能为空");
}
if(this.mobile == null || "".equals(this.mobile)){
this.addFieldError("mobile", "不能为空");
}else if(!Pattern.compile("^1[345678]\\d{9}$").matcher(mobile).matches()){
this.addFieldError("mobile", "手机号格式不正确");
}
super.validate();
}
配置视图:
<result name="message">/WEB-INF/page/message.jsp</result>
页面获取错误信息:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
...........
<s:fielderror></s:fielderror>
..........
- struts2对Action中所有方法进行输入校验(手工编写代码)
- 学习笔记------------------对Action中所有方法进行输入校验和对指定方法输入校验(手工编写代码和xml方式)
- 手工编写代码实现对action中所有方法输入校验
- struts2对Action中所有的方法进行输入校验
- Struts2 对Action中所有方法进行输入校验、单个方法进行校验
- 复习struts2之对action中所有方法进行输入校验
- 第十九章 对Action中所有方法进行输入校验
- Struts2_对Action中所有方法进行输入校验
- Struts2:对Action中方法进行输入校验
- struts2 手工校验action中所有方法 张孝祥
- Struts2手工配置对Action方法的校验代码
- struts2对action中的方法进行输入校验(1)
- struts2对action中的方法进行输入校验(2)
- struts2-16对action中的方法进行输入校验
- 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的所有方法进行输入校验
- struts2中以xml配置方式对action的所有方法进行校验
- 对Action中所有方法、指定方法进行校验
- struts2-18基于XML配置方式实现对action的所有方法或指定方法进行输入校验
- Block的引用循环问题 (ARC & non-ARC) 【 引用外部变量或对象 】
- POJ 2010 Moo University - Financial Aid(优先队列or二分搜索—最大化K大值)
- CPU辨别
- ubuntu开发环境搭建(一)搭建ftp服务器
- 关于解决Android真机访问PC上的tomcat的问题
- struts2对Action中所有方法进行输入校验(手工编写代码)
- Win7提示未授予用户在此计算机上的请求登录类型
- C++中qsort排序方法 / 同时可以学习回调函数
- IMGUI学习总结
- ubuntu开发环境搭建(一)ssh安装及配置
- C# SaveFileDialog的用法保存文件
- 百度收录带www和不带www域名的不同和解决办法
- 欢迎使用CSDN-markdown编辑器
- C++ 排序函数 sort(),qsort()的用法 / 同时可以学习回调函数