struts2之数据验证
来源:互联网 发布:lua 数据解析 编辑:程序博客网 时间:2024/05/31 13:14
struts2有2中进行数据验证的方法
1. 通过重写ActionSupport类中的validate方法进行验证
2. 通过数据验证框架进行验证
通过validate方法进行数据验证
下面先讲一下进行数据验证的action的执行流程:
当Client端发送请求给Server端时,首先将请求中的参数转换action中的字段,然后执行action中的validate方法
当action中的fielderror 或 actionerror为空时,才会执行execute方法,否则不会执行execute方法.
用validate进行数据验证:
这种验证方法相对于第二种方法来说比较灵活,通过判断actionerror和fielderror中内容来判断是否验证成功。
假如fielderror 或者 actionerror有一个不是空的集合,就会跳转到当先action 的 result中 name="input"所对应的页面。
下面通过一个实例来说明
在validate.jps中有一个form,当提交后会给ValidateAction处理,假如username的长度小于4或者大于6就会将
错误加入到fielderror中,并且跳转到input对应的页面,否则就会叫转到success对应的页面.
validate.jsp部分源码
<body> <center> <s:fielderror value="username"/><form action="validate" method="get"> username: <input type="text" name="username"> <br> <input type="submit" value="validate"></form> </center></body>
struts.xml中的配置
<action name="validate" class="ValidateAction"> <result name="success">validateresult.jsp</result> <result name="input">validate.jsp</result></action>
ValidateAction类部分源码
@SuppressWarnings("serial")public class ValidateAction extends ActionSupport{ private String username; private String password; private String repassword; private Date birthday; private Date graduation; //setXXX getXXX省略 @Override public String execute() throws Exception {return "success"; } @Override public void validate() {if(username.length() < 4 || username.length() > 6) { this.addFieldError("username", "the length of username should between 4 and 6");} }}
通过数据验证框架验证
这种验证方法是通过一个配置文件自动的进行数据校验,配置文件的命名规则是‘action的名字''-''validation.xml'.
以上面的程序为示例,配置文件的名字为ValidateAction-validation.xml,注意这个配置文件要放在与
要校验的action同一包中,上面程序的配置文件源码如下
<?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="username"> <field-validator type="requiredstring"> <message>username can not be null</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">4</param> <param name="maxLength">6</param> <message>4 - 6</message> </field-validator> </field></validators>Struts2提供的数据验证框架有2种不同的类型,一个是field一个是validator,个人觉得用field比较容易理解.
- struts2之数据验证
- Struts2 学习之三 数据验证
- struts2简单数据验证
- struts2简单数据验证
- Struts2 简单数据验证
- struts2 简单数据验证
- Struts2表单数据验证
- Struts2数据验证机制
- struts2数据验证机制
- Struts2的数据验证
- Struts2数据验证机制
- struts2 简单数据验证
- struts2表单数据验证
- Struts2-数据验证
- struts2中的数据验证
- 道听途说Struts2之10:简单的数据验证
- struts2学习笔记(6)---数据验证之validate()方法
- struts2学习笔记(7)---数据验证之validateXxx()方法
- OOD沉思录 之 类和对象的关系--使用关系原则
- 学习笔记——web.xml
- tomcat的server locations配置
- 常用RGB颜色表
- Android 下Menu的创建示例
- struts2之数据验证
- 第五周实验报告(一)
- 195. Happiness takes no account of time. 欢乐不觉时间过
- FFT算法
- 第五周实验报告(二)
- jQuery对象
- Android bound service 详解三:使用Messenger
- 乙肝肾炎的发病原因?
- 用unity3D最近遇到的一些函数1