孙昊的Java专区

Java专区
随笔 - 1, 文章 - 4, 评论 - 1, 引用 - 0
数据加载中……

Struts2_Action方法的校验

1、输入校检struts2提供了两种实现方法:(校验action中的所有方法或者指定方法)
   a、采用手工编写代码实现
   b、基于XML配置方式实现
2、具体实现:
   a、继承ActionSupport,重写它的validate()方法(对所有方法进行校验)
      注意要学习正则表达式
      正则表达式:"^1[358]\\d{9}$"
      ^:表示要检测的字符串开头
      1:表示字符串的第一个字符必须是1
      [358]:表示字符串的第二个字符必须在358三个数字中的一个
     1、输入校检struts2提供了两种实现方法:(校验action中的所有方法或者指定方法)
   a、采用手工编写代码实现
   b、基于XML配置方式实现
2、具体实现:
   a、继承ActionSupport,重写它的validate()方法(对所有方法进行校验)
      注意要学习正则表达式
      正则表达式:"^1[358]\\d{9}$"
      ^:表示要检测的字符串开头
      1:表示字符串的第一个字符必须是1
      [358]:表示字符串的第二个字符必须在358三个数字中的一个
      \\d:表示 数字[0-9]中的一个
      {9}:表示后面有9位数字
      $:表示字符串的最后一位
3、对指定方法进行校验:
   只需把上面的校验方法名改为validateXxx()即可,其中Xxx为要校验的方法名,首字母大写
   如:要校验update()方法,即改为validateUpdate()
4、基于XML配置方式实现:
   在要校验的方法所在类所在的包下,名字为ActionName-validation.xml,其中ActionName为Action的名字,后面-validation.xml是固定写法
   ValidateAction-validation.xml如下:
  
 1 <?xml version="1.0" encoding="UTF-8"?>
 2  <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
 3  <validators>
 4      <field name="username">
 5   <field-validator type="requiredstring">
 6       <param name="trim">true</param>
 7       <message>用户名不能为空!</message>
 8   </field-validator>
 9      </field>
10      <field name="telno">
11   <field-validator type="requiredstring">
12       <message>手机号不能为空!</message>
13   </field-validator>
14   <field-validator type="regex">
15         <param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
16         <message>手机号格式不正确!</message>
17    </field-validator>
18      </field>
19  </validators>
5、只需修改XML文件的名称,改为ActionClassName-ActionName-validation.xml,其他都不用动
   如上例中:改为ValidateAction-validate_update-validation.xml,只对ValidateAction中的update方法校验

posted on 2011-12-01 23:46 孙昊 阅读(342) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: