首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

struts2-表单校验

2012-10-10 
struts2--表单校验[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]?准备工作1. 登陆页

struts2--表单校验

[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]

?

准备工作

1. 登陆页面的表单:

2. 定义校验规则:

用户名不能为null, ?或者空字符串;

密码不能为null或者空字符串, ?密码中只能包含[0-9a-zA-Z], ?不能存在非法字符, ?且长度在6-8位之间;

年龄必须为整型, ?且不能为负数.


采用基本验证的方式校验表单

1. 创建ValidateAction类, ?继承ActionSupport并实现Validateable接口.

?

表单校验的执行流程

1. 类型转换器对请求参数执行类型转换, 并把转换后的值赋给action中的属性.?

2. 如果在执行类型转换的过程中出现异常, 系统会将异常信息保存到ActionContext, conversionError拦截器将异常信息封装到fieldErrors里, 然后执行第3步. 如果类型转换没有出现异常, 则直接进入第3步.?

3. 系统通过反射技术调用action中的validateXxx()方法, Xxx为方法名.?

4. 调用action中的validate()方法.?

5. 经过上面4步, 如果系统中的fieldErrors存在错误信息(即存放错误信息的集合的size大于0), 系统自动将请求转发至名称为input的视图. 如果系统中的fieldErrors没有任何错误信息, 系统将执行action中的业务方法.?

?

基于XML配置方式实现输入校验

1. 创建Action类, 继承ActionSupport或实现Validateable接口:

3. 在ValidateXmlAction的同级目录中创建用于校验表单的xml文件, 文件名为ValidateXmlAction-validation.xml(用于校验表单的xml文件的文件名规定为ActionClassName-validation.xml):

4. 上述xml文件中使用名称为ageValidate的校验规则对age字段进行校验. ageValidate是一个自定义的校验规则.

自定义校验规则首先需要创建一个类, 继承FieldValidatorSupport类:

5. 默认情况下将对Action中的所有业务方法进行校验. 如果只想对Action中的某个业务方法进行校验, 可以将用于校验的xml文件命名为ActionClassName-ActionName_methodName-validation.xml. 本例中只对login()方法进行校验, 只需将ValidateXmlAction-validation.xml文件更名为ValidateXmlAction-validateXmlAction_login-validation.xml即可.?

?

?

热点排行