一 文件名约定:
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代码
<action name="user_*" class="ssh.org.web.UserAction" method="{1}"> <result name="success">/user/success.jsp</result> <result name="input">/user/user.jsp</result> </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代码
<?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><!-- 非字段校验器 <validator type="requiredstring"> <param name="fieldName">username</param> <message>username should not be blank!</message> </validator> <validator type="stringlength"> <param name="fieldName">username</param> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should be between ${minLength} and ${maxLength}</message> </validator> --> 字段校验器--> <field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>username should not be blank!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should be between ${minLength} and ${maxLength}</message> </field-validator> </field> <field name="password"> <field-validator type="requiredstring"> <message>password should not be blank!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>password should be between ${minLength} and ${maxLength}</message> </field-validator> </field> <field name="repassword"> <field-validator type="requiredstring"> <message>repassword should not be blank!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>repassword should be between ${minLength} and ${maxLength}</message> </field-validator> </field> <field name="age"> <field-validator type="required"> <message>age should not be blank!</message> </field-validator> <field-validator type="int"> <param name="min">1</param> <param name="max">150</param> <message>age should be between ${min} and ${max}</message> </field-validator> </field> <field name="birthday"> <field-validator type="required"> <message>birthday should not be blank!</message> </field-validator> <field-validator type="date"> <param name="min">2001-01-01</param> <param name="max">2003-12-31</param> <message>birthday should be between ${min} and ${max}</message> </field-validator> </field> <field name="graduation"> <field-validator type="required"> <message>graduation should not be blank!</message> </field-validator> <field-validator type="date"> <param name="min">2005-01-01</param> <param name="max">2007-12-31</param> <message>graduation should be between ${min} and ${max}</message> </field-validator> </field> </validators>
评论加载中...- 2009-3-26Struts2输入校验流程
- 2009-3-26struts2标签页面显示的控制
- 2009-3-26用hibernate查询一段时间的记录
- 2009-3-26LightURL——打造零配置的Struts2开发方式
- 2009-3-26Struts2配置详解
- 2009-3-26标签库,永恒的争论话题
- 2009-3-26Result机制,让视图更丰富
- 2009-3-26拦截器详解
- 2009-3-26MVC框架的困惑
- 2009-3-26Struts2的学习途径
