下面我们重新设计我们的LogonForm<!----><o:p></o:p>
改为<o:p></o:p>
public class LogonForm extends ValidatorForm/*ActionForm*/<o:p></o:p>
我们注释掉ActionForm的Validate()函数。<o:p></o:p>
我们配置Struts-config.xml文件,在文件最后增加<o:p></o:p>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn"><o:p></o:p>
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /><o:p></o:p>
</plug-in><o:p></o:p>
<o:p> </o:p>
下面我们修改validation.xml文件<o:p></o:p>
增加<o:p></o:p>
<form name="logonForm"><o:p></o:p>
<field<o:p></o:p>
property="userName"<o:p></o:p>
depends="required"><o:p></o:p>
<arg0 key="userName" resource="false"/><o:p></o:p>
</field><o:p></o:p>
<field<o:p></o:p>
property="password"<o:p></o:p>
depends="required"><o:p></o:p>
<arg0 key="password" resource="false"/><o:p></o:p>
<o:p></o:p>
</field><o:p></o:p>
</form><o:p></o:p>
同时在资源文件中增加<o:p></o:p>
errors.required={0} is required.<o:p></o:p>
<o:p> </o:p>
重新启动程序,那么登陆程序服务器端验证就起作用了。<o:p></o:p>
下面我们来添加Client端的Javascript验证。<o:p></o:p>
<o:p> </o:p>
修改Logon.jsp<o:p></o:p>
<%@ page language="java" contentType="text/html;charset=UTF-8"%><o:p></o:p>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%> <o:p></o:p>
<%@ taglib uri="/tags/struts-html" prefix="html"%><o:p></o:p>
<%@ page errorPage="error.jsp" %><o:p></o:p>
<o:p> </o:p>
<html> <o:p></o:p>
<head><o:p></o:p>
<title><bean:message key="Logon"/></title><o:p></o:p>
</head><o:p></o:p>
<body><o:p></o:p>
<html:errors property="hbm.session.error"/><o:p></o:p>
<html:errors property="no.user"/><o:p></o:p>
<html:errors property="hbm.session.query"/><o:p></o:p>
<html:form action="/jsp/logon.do" focus="userName"<o:p></o:p>
onsubmit="return validateLogonForm(this)"><o:p></o:p>
<bean:message key="Logon.UserName"/> : <html:text property="userName"/><html:errors property="userName"/></br><o:p></o:p>
<bean:message key="Logon.Password"/> : <html:text property="password"/><html:errors property="password"/></br><o:p></o:p>
<html:submit><o:p></o:p>
<bean:message key="Logon.Submit"/><o:p></o:p>
</html:submit><o:p></o:p>
</html:form><o:p></o:p>
<html:javascript dynamicJavascript="true" staticJavascript="true" formName=”logonForm”/><o:p></o:p>
<o:p></o:p>
<body><o:p></o:p>
</html><o:p></o:p>
<!----><v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 339pt; HEIGHT: 139.5pt"></v:shape><o:p></o:p>
<o:p> </o:p>
OK<o:p></o:p>
下一此按Excel计划开始贯彻前期思想。<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
谢谢。<o:p></o:p>