Welcome 微信登录
编程资源 图片资源库

首页 / 软件开发 / JAVA / Struts2输入校验(二) 验证框架

Struts2输入校验(二) 验证框架2010-01-06 javaeye elf8848一 文件名约定:

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>