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> 

相关文章推荐

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

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

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

一、Struts中文问题(参考Struts2_1000_CharacterEncoding) 在struts.xml中添加如下配置 constant name="struts.i18n.enc...

Strust2-数据校验

一. ActionSupport是个工具类,他实现了Action, Validatable等接口, Validatable提供validate()方法进行数据验证.Action只要继承ActionSu...

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

(1)、理解处理结果                                  Action处理完用户请求后,并未直接将请求转发给任何具体的视图资源,而是返回一个逻辑视图,Strut...

Strust2文件下载

每回碰到上传下载的功能时都需要花费相对多的功夫来重新组织,今天索性就总结一个自己常用的方法。 1.JSP页面怎么写 2.Action怎么写 private String f...

(OpenSymphony)SiteMesh简介以及与Strust2集成应该注意的问题

SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享、减少 OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和...

strust2文件上传大小处理问题

--struts2中文件上传的二个限制,一个是struts.multipart.maxSize,如果不设置,struts2 的核心包下的default.properties文件里有默认的大小设置str...

MyEclipse10 Strust2实例

一、新建Web Project ,并加入Struts2支持,不再赘述; 二、web.xml里,按如下配置: struts2 org.apache.struts2.dispa...
  • xundh
  • xundh
  • 2014年12月29日 10:47
  • 1388

Strust2 中 Could not find action or result 原因分析及解决办法

最近在搞物业小区管理系统,

Strust2_常用标签的使用

package org.com.test.model; public class Group { private int id; private String name; public...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Strust2 输入校验
举报原因:
原因补充:

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