Strust2 输入校验

转载 2012年03月30日 15:48:41

一 文件名约定:

 

1)验证XML的文件名: Action类名-validation.xml , 并与相关的Action类放在一起.

 

2)当一个Action中有多个业务方法时 : Action名-映射名-validation.xml

什么是映射名:<action name="login".../> ,name属性的值:login就是映射名, 千万注意,很多人写错

例子:

URL是:http://localhost/struts/user_addUser.action

struts.xml是:

Xml代码  收藏代码
  1. <action name="user_*" class="ssh.org.web.UserAction" method="{1}">  
  2.     <result name="success">/user/success.jsp</result>  
  3.     <result name="input">/user/user.jsp</result>              
  4. </action>  

 匹配后<action name="user_*".../>  实为<action name="user_addUser" .../>

 

所以验证框架XML文件名是: UserAction-user_addUser-validation.xml

 

 

 

二 验证不通过时,  会执行addFieldError()方法,  在JSP页面, 要用<s:fielderror />显示信息.

关于addFieldError,请看第6讲:6 addActionError与addFieldError

 

 

三 例子

Registration-validation.xml  : 用于校验Registration.java类

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">  
  3.   
  4. <validators>  
  5.   
  6. <!--   
  7.       非字段校验器  
  8.       <validator type="requiredstring">  
  9.         <param name="fieldName">username</param>  
  10.         <message>username should not be blank!</message>  
  11.     </validator>  
  12.       
  13.     <validator type="stringlength">  
  14.         <param name="fieldName">username</param>  
  15.         <param name="minLength">6</param>  
  16.         <param name="maxLength">10</param>  
  17.         <message>username should be between ${minLength} and ${maxLength}</message>  
  18.     </validator>  
  19.  -->   
  20.   
  21.     字段校验器-->  
  22.       <field name="username">  
  23.         <field-validator type="requiredstring">  
  24.             <param name="trim">true</param>  
  25.             <message>username should not be blank!</message>  
  26.         </field-validator>  
  27.           
  28.         <field-validator type="stringlength">  
  29.             <param name="minLength">6</param>  
  30.             <param name="maxLength">10</param>  
  31.             <message>username should be between ${minLength} and ${maxLength}</message>  
  32.         </field-validator>  
  33.     </field>  
  34.   
  35.     <field name="password">  
  36.         <field-validator type="requiredstring">  
  37.             <message>password should not be blank!</message>  
  38.         </field-validator>  
  39.           
  40.         <field-validator type="stringlength">  
  41.             <param name="minLength">6</param>  
  42.             <param name="maxLength">10</param>  
  43.             <message>password should be between ${minLength} and ${maxLength}</message>  
  44.         </field-validator>  
  45.     </field>  
  46.       
  47.     <field name="repassword">  
  48.         <field-validator type="requiredstring">  
  49.             <message>repassword should not be blank!</message>  
  50.         </field-validator>  
  51.           
  52.         <field-validator type="stringlength">  
  53.             <param name="minLength">6</param>  
  54.             <param name="maxLength">10</param>  
  55.             <message>repassword should be between ${minLength} and ${maxLength}</message>  
  56.         </field-validator>  
  57.     </field>  
  58.       
  59.     <field name="age">  
  60.         <field-validator type="required">  
  61.             <message>age should not be blank!</message>  
  62.         </field-validator>  
  63.       
  64.         <field-validator type="int">  
  65.             <param name="min">1</param>  
  66.             <param name="max">150</param>  
  67.             <message>age should be between ${min} and ${max}</message>  
  68.         </field-validator>  
  69.     </field>  
  70.       
  71.     <field name="birthday">  
  72.         <field-validator type="required">  
  73.             <message>birthday should not be blank!</message>  
  74.         </field-validator>  
  75.           
  76.         <field-validator type="date">  
  77.             <param name="min">2001-01-01</param>  
  78.             <param name="max">2003-12-31</param>  
  79.             <message>birthday should be between ${min} and ${max}</message>  
  80.         </field-validator>  
  81.     </field>  
  82.       
  83.     <field name="graduation">  
  84.         <field-validator type="required">  
  85.             <message>graduation should not be blank!</message>  
  86.         </field-validator>  
  87.           
  88.         <field-validator type="date">  
  89.             <param name="min">2005-01-01</param>  
  90.             <param name="max">2007-12-31</param>  
  91.             <message>graduation should be between ${min} and ${max}</message>  
  92.         </field-validator>  
  93.     </field>  
  94.       
  95.   
  96.       
  97. </validators>  



四  Struts2内建的 校验器有:

Xml代码  收藏代码
  1. <validators>  
  2.     <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>  
  3.     <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>  
  4.     <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>  
  5.     <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>  
  6.     <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>  
  7.     <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>  
  8.     <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>  
  9.     <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>  
  10.     <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>  
  11.     <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>  
  12.     <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>  
  13.     <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>  
  14.     <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>  
  15.     <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>  
  16.     <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>  
  17.     <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>  
  18. </validators> 

Struts2:对Action中方法进行输入校验

在struts2中,我们可以实现对action的所有方法进行校验或对action的指定方法进行校验。对于输入校验,struts2提供了两种实现方法: 1.采用手工编写代码实现 2.基于XML配置方...
  • zhoujing_0424
  • zhoujing_0424
  • 2015年10月21日 09:27
  • 1424

Struts2系统学习(14)输入校验-基于XML配置方式实现校验

14. 输入校验   在struts2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验。   对于输入校验,struts2提供了两种实现方法:...
  • Mark_LQ
  • Mark_LQ
  • 2015年11月14日 11:32
  • 1948

Android EditView输入内容格式验证

传送门 ☞ Android兵器谱 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 白虹剑         殷天正从身旁包袱中取出一...
  • wuxinzaiyu
  • wuxinzaiyu
  • 2013年07月03日 13:06
  • 9854

关于strust2中的输入校验实例解析

我们都知道在我们登陆注册的页面是如果你输入的格式或没输入或者已经有重名等都会给你提示,所以我们要在输入时进行输入校验。 这是我们就会用到Strust2中的输入校验等。我们今天就来看看这个输入校验,其...
  • u011133294
  • u011133294
  • 2013年11月22日 11:33
  • 385

Strust2_学习笔记(四)----中文问题、数据校验

一、Struts中文问题(参考Struts2_1000_CharacterEncoding) 在struts.xml中添加如下配置 constant name="struts.i18n.enc...
  • fly_fish456
  • fly_fish456
  • 2012年07月22日 19:12
  • 1011

Strust2-数据校验

一. ActionSupport是个工具类,他实现了Action, Validatable等接口, Validatable提供validate()方法进行数据验证.Action只要继承ActionSu...
  • yongjian1092
  • yongjian1092
  • 2012年03月03日 16:45
  • 1037

[Java面试四]Strust2总结及在面试中的一些问题

1. JavaEE软件三层结构和MVC的区别? JavaEE软件三层机构是由sun公司提供JavaEE开发规范的:Web层(表现层)、业务逻辑层、数据持久层。【其中WEB层会使用前端控制器模式】  ...
  • ww595213939
  • ww595213939
  • 2017年11月29日 11:18
  • 35

[Java面试四]Strust2总结及在面试中的一些问题.

1. JavaEE软件三层结构和MVC的区别? JavaEE软件三层机构是由sun公司提供JavaEE开发规范的:Web层(表现层)、业务逻辑层、数据持久层。【其中WEB层会使用前端控制器模式】 M...
  • u012881584
  • u012881584
  • 2017年01月16日 13:35
  • 171

Strust2-----7、配置处理结果

(1)、理解处理结果                                  Action处理完用户请求后,并未直接将请求转发给任何具体的视图资源,而是返回一个逻辑视图,Strut...
  • hekewangzi
  • hekewangzi
  • 2014年11月09日 22:12
  • 707

MyEclipse10搭建Strust2开发环境

一、创建一个JavaWeb项目 启动MyEclipse10    ,然后在MyEclipse中创建一个JavaWeb项目,点击【File】---->【New】---->【WebProject】,如下...
  • jiangeeq
  • jiangeeq
  • 2017年04月12日 15:55
  • 297
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Strust2 输入校验
举报原因:
原因补充:

(最多只允许输入30个字)