这几天用struts 的validator框架验证,做了两天一直不成功!!!真是把人能气个半死!!!不过问题终于解决了,大家一
定猜不出原因吧。原来是validation.xml文件头有问题。真是没想到!!!
原来的头:
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration
1.1.3//EN" "validator_1_1_3.dtd" >
正确的头:
<!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">
没想到时这个原因,真是太难找了,看来要学的东西很多呀!
把这两天的成就给大家分享一下吧!struts validator框架开发步骤:
1 struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<data-sources />
<form-beans>
<form-bean name="loginForm" type="com.LoginForm"/>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action
path="/login" type="com.LoginAction" name="loginForm" scope="request" validate="true"
input="/login.jsp">
<forward name="error" path="/error.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/validator-rules.xml,/WEB-INF/validation.xml"/>
<set-property property="stopOnFirstError" value="true" />
</plug-in>
</struts-config>
2 validation.xml 验证配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration
1.1.3//EN" "validator_1_1_3.dtd" >-->
<!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">
<arg0 key="loginForm.username"/>
</field>
</form>
</formset>
</form-validation>
3 ApplicationResources.properties 资源文件
# Resources for parameter 'com.yourcompany.struts.ApplicationResources'
# Project TestHib
label.username=<font color="blue">Your name</font>
errors.required=<font color="red">{0} is required.</font>
loginForm.username = <font color="red">Your name</font>
4 LoginForm 代码:
package com;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.ValidatorForm;
public class LoginForm extends ValidatorForm
{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
5 login.jsp
<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<html>
<head>
<title>My JSP 'login.jsp' starting page</title>
</head>
<body>
This is my JSP page. <br>
<html:errors/>
<html:form action="/login.do" method="post">
<bean:message key="label.username"/>:
<html:text property="username"></html:text>
<input type="submit" value="valid">
</html:form>
</body>
</html>