新人,求帮助(struts 框架验证)
本来想试试struts的框架验证,结果它不执行form 的validate()
代码如下:
Form
package com.yourcompany.struts.form;
import org.apache.struts.validator.ValidatorActionForm;
public class loginForm extends ValidatorActionForm{
private String userName;
private String passWord;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
}
Action
package com.yourcompany.struts.action;
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;
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
return null;
}
}
struts.config
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="com.yourcompany.struts.form.loginForm" >
<form-property name="userName" type="java.lang.String" />
<form-property name="passWord" type="java.lang.String" />
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
validate="true"
type="com.yourcompany.struts.action.LoginAction">
<set-property property="cancellable" value="true" />
<forward name="succ" path="/index.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validation.xml" />
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml" />
</plug-in>
</struts-config>
login.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for LoginForm form</title>
</head>
<body>
<html:form action="/login">
userName : <html:text property="userName"/><html:errors property="userName"/><br/>
passWord : <html:text property="passWord"/><html:errors property="passWord"/><br/>
<html:submit/><html:cancel/>
</html:form>
</body>
</html>
validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<form-validation>
<formset>
<form name="loginForm">
<!-- userName -->
<field property="userName" depends="required">
<arg key="login.userName"/>
</field>
<!--password -->
<field property="passWord" depends="required">
<arg key="login.passWord"/>
</field>
</form>
</formset>
</form-validation>
ApplicationResources.properties
login.userName=user name
login.passWord=user password
errors.required={0} must be input
# Resources for parameter 'com.yourcompany.struts.ApplicationResources'