1 Validation framework
在Struts framework中,ActionForm对象用来包装HTML表格数据(包括请求),并返回返回动态显示给用户的数据。它们必须是完全的JavaBean,并继承.Struts 里面的ActionForm类,同时,用户可以有选择地覆盖两个缺省方法validate()和reset()。
这样做的缺点:
1.校验代码冗余,不可重用。
2.维护起来很困难。
validation framework将actionForm中的校验部分分离出来,通过配置文件实现。
下面将我在使用validation时总结的经验书写于下。由于时间紧张,所以对原文基本没有做修改,可能有些乱,请见谅。
1.1 组成与配置
1.1.1 组成
包:commons-validator.jar 、 jakarta-oro.jar、
配置文件: validator-rules.xml、validation.xml
1.1.2 配置
要求:
1、在web-inf/目录下有validation.xml,validator-rules.xml文件
2、在web-inf/struts-config.xml中有如下内容
<!-- ========== Message Resources Definitions =========================== -->
<message-resources parameter="org.apache.struts.webapp.validator.ApplicationResources"/>
<!--=====修改为你自己的ApplicationResources文件的路径 ============== -->
<!-- ========== Plug Ins Configuration ================================ -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml"/>
</plug-in>
1.2 validation-rules.xml
validation-rules.xml定义了一套通用的校验规则,这些规则将在validaion.xml中被引用。你也可以自定义一些规则加到这个文件中,也可以单独存入一个文件。例如:
<validator
name="minLength"
classname="org.apache.struts.util.StrutsValidator"
method="validateMinLength"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,