转Validator验证框架
Struts1.2中创建验证框架的步骤:
1、在struts-config.xml文件中添加下列内容:
< plug - in className = " org.apache.struts.validator.ValidatorPlugIn " >
< set - property property = " pathnames " value = " /WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml " />
</ plug - in >
注意:这些内容必须放在<message-resources>元素之后。该规则是由
" http://struts.apache.org/dtds/struts-config_1_2.dtd "文件制定的。
2、创建相关的组件:
为了实验的目的,我依次创建4个ActionForm类,一个JSP,一个Action类,以下是他们在struts-config.xml中的配置信息:
1 <form-beans >
2 <form-bean name="DVForm" type="org.apache.struts.validator.DynaValidatorForm">
3 <form-property name="name" type="java.lang.String" />
4 </form-bean>
5 <form-bean name="DVAForm" type="org.apache.struts.validator.DynaValidatorActionForm">
6 <form-property name="name" type="java.lang.String" />
7 </form-bean>
8 <form-bean name="VForm" type="com.kook.struts.form.HahaForm" />
9 <form-bean name="VAForm" type="com.kook.struts.form.HohoForm" />
10 </form-beans>
11
12 <global-exceptions />
13 <global-forwards />
14 <action-mappings >
15 < action
16 attribute="DVForm"
17 input="/form/index.jsp"
18 name="DVForm"
19 path="/index"
20 scope="request"
21 type="com.kook.struts.action.IndexAction" />
22 </action-mappings>
其中
<form-bean name="VForm" type="com.kook.struts.form.HahaForm" />是ValidatorForm类的子类
<form-bean name="VAForm" type="com.kook.struts.form.HohoForm" />是ValidatorActionForm类的子类
下面是JSP页面代码:
1 <html:form action="/index" onsubmit="return validateDVForm(this)">
2 name : <html:text property="name"/><html:errors property="name"/><br/>
3 <html:submit/>
4 </html:form>
5 <html:javascript formName="DVForm"/>
因为只是做表单验证,action类可以不用涉及,因此不列出action类的代码啦!
3、删除name="VForm" 和name="VAForm"的ActionForm中的validate方法。
因为这两个类不是动态的验证类,在使用向导生成代码的时候会自动覆盖父类的