Struts2学习总结 ---- 数据校验
2014-07-17 13:15
239 查看
数据校验
数据校验流程
Struts2中的数据校验方式:
1.validate()方法:
2.validateXxx()方法:
[/code]
3.验证框架:
[/code]
[/code]
数据校验流程
Struts2中的数据校验方式:
1.validate()方法:
/** * 这个方法中的代码在该Action类中的所有Action方法被调用之前都会执行,所以它当中的内容通常为通用的验证 * 步骤: * 1.action要继承ActionSupport * 2.重写validate方法做通用验证 * 3.在配置文件的action中配置input视图 * 4.jsp页中用s:fielderror来显示错误信息 */ @Override public void validate() { if(null==user.getUsername()||user.getUsername().isEmpty()){ //添加错误信息,如果不添加就没有任何意义了 this.addFieldError("user.username", "用户名不能为空"); } if(null==user.getPassword()||user.getPassword().isEmpty()){ this.addFieldError("user.password", "密码不能为空"); } if(user.getPassword().length()<6){ this.addFieldError("user.password", "密码长度过低"); } }
2.validateXxx()方法:
/** * 针对特定的Action方法进行校验 Xxx 为特定的方法名 * 步骤: * 1.action要继承ActionSupport * 2.重写validate方法做通用验证,也可以写validateXxx方法做特定方法的验证 * 3.在配置文件的action中配置input视图 * 4.jsp页中用s:fielderror来显示错误信息 */ public String regist() throws Exception { biz.saveObject(user); return SUCCESS; } //针对上面的 regist() 方法的单独验证 public void validateRegist(){ if(null==user.getUsername()||user.getUsername().isEmpty()){ this.addFieldError("user.username", "用户名不能为空"); } if(null==user.getPassword()||user.getPassword().isEmpty()){ this.addFieldError("user.password", "密码不能为空"); } if(user.getPassword().length()<6){ this.addFieldError("user.password", "密码长度过低"); } }
[/code]
3.验证框架:
<!-- 步骤: 1.action要继承ActionSupport 2.在配置文件的action中配置input视图 3.jsp页中用s:fielderror来显示错误信息 4.编写xml配置文件 ,在配置文件中配置验证规则 验证文件规则: 1.验证文件和要验证的Action在同一个包中 2.命名: 对整Action类生效的写法:ClassName-validation.xml eg: UserAction-validation.xml 对某个Action方法生效的写法: ClassName-ActionName-validation.xml eg: UserAction-login-validation.xml (此处的login是在Struts.xml中Action 中的 name) --> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <field name="user.username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message key="required"/> </field-validator> <field-validator type="stringlength"> <param name="maxLength">20</param> <param name="minLength">6</param> <message>长度应该在${minLength}和${maxLength}之间</message> </field-validator> </field> <field name="user.pass"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>密码不能为空</message> </field-validator> </field> <field name="repass"> <field-validator type="fieldexpression"> <param name="expression">user.pass==repass</param> <message>确认密码要和密码一致</message> </field-validator> </field> </validators>
[/code]
struts2的内置校验器: 该xml 文档位于xwork-core2.3.16.1.jar 中的/com/opensymphony/xwork2/validator/validators/default.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"> <!-- START SNIPPET: validators-default --> <validators> <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/> <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/> <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/> <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/> <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/> <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/> <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/> <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/> <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/> <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/> <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/> <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/> <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/> <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/> <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/> <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/> </validators> <!-- END SNIPPET: validators-default -->
[/code]
相关文章推荐
- 【转载】Struts2学习总结 ---- 数据校验
- Struts2学习总结(3)--值栈,Ognl表达式,Struts标签库,国际化,数据校验,拦截器
- Struts2学习总结(3)--值栈,Ognl表达式,Struts标签库,国际化,数据校验,拦截器
- 学习struts2建bbs总结一:用powerdesigner建数据库并自动生成测试数据
- 【转载】Struts2学习总结 ---- 数据类型转换器Converter
- Struts2学习---简单的数据校验、访问Web元素
- struts2学习 : 数据校验
- Struts2学习总结(九):数据验证
- Struts2学习——0600简单数据校验
- Struts2学习(第五篇)——action基础知识和数据校验
- Struts2学习总结(2)--数据接收,数据共享,类型转换,上传下载
- Struts2学习(八)数据校验实现
- Struts2学习总结(2)--数据接收,数据共享,类型转换,上传下载
- Struts2学习---简单的数据校验、访问Web元素
- Struts2学习第二天——获取参数与数据校验
- struts2学习笔记--使用Validator校验数据
- Struts2学习总结 ---- 数据类型转换器Converter
- Sql Server2008 Transact-SQL 新兵器学习总结之-用户定义表类型和日期,时间数据类型
- dojo1.1.0学习总结--Gird绑定JSON数据案例
- struts2数据校验3