struts validator验证框架
1、配置:
* 加入国际化配置在struts-config.xml文件中,如:
<message-resources parameter="MessageResources" />
* 提供国际化资源文件
* 引入validator插件在struts-config.xml文件中,如:

Code
<form-beans>
<!-- 使用的是DynaValidatorForm类 -->
<form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">
<!-- name="username"跟表单中的名称一样 -->
<form-property name="username" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
</form-bean>
</form-beans>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
* 提供validation.xml和validator_rules.xml文件,将此文件拷贝到WEB-INF下
2、validator服务器端验证
* 配置validation.xml文件

Code
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<formset>
<form name="loginForm">
<field property="username" depends="required">
<arg key="prompt.username"/>
</field>
<field property="password" depends="required,mask">
<arg key="prompt.password"/>
<var>
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
3、validator客户端验证(javascript)
) * 配置validation.xml文件
* 在jsp页面中包含< html:javascript>
* 对需要验证的表单定义onsubmit事件,其中事件名称为validate+ActionForm的名称,如:validateLoginForm
4、login1.jsp

Code
<title>登录(validator框架服务器端验证)</title>
</head>
<body>
<h1>登录(validator框架服务器端验证)</h1>
<hr>
<html:form action="login1.do">
username : <html:text property="username"/><html:errors property="username"/><br/>
password : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit/>
</html:form>
</body>5、login2.jsp

Code
<title>登录(validator框架客户端验证)</title>
</head>
<body>
<h1>登录(validator框架客户端验证(javascript))</h1>
<hr>
<html:javascript formName="loginForm"/>
<html:form action="login2.do" onsubmit="return validateLoginForm(this)">
username : <html:text property="username"/><br/>
password : <html:password property="password"/><br>
<html:submit/>
</html:form>
</body>6、LoginAction.java类

Code
package com.bjsxt.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;
public class LoginAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
DynaValidatorForm loginForm = (DynaValidatorForm)form;
String username = (String)loginForm.get("username");
String password = (String)loginForm.get("password");
return mapping.findForward("success");
}
}
7、o.properties
prompt.username=用户名称
prompt.password=登录密码
errors.required={0},是必须的.