Validator框架
参照:http://www.blogjava.net/nokiaguy/archive/2009/02/12/254421.html【第1步】建立ValidatorExamForm类
package com.yourcompany.struts.form;import org.apache.struts.action.ActionForm;import org.apache.struts.validator.ValidatorForm;/*** MyEclipse Struts * Creation date: 04-19-2010 ** XDoclet definition: * @struts.form name="validatorExamForm" */public class ValidatorExamForm extends ValidatorForm {//必须从ValidatorForm继承/* * Generated fields *//** email property */private String email;/** age property */private String age;/** name property */private String name;/* * Generated Methods *//*** Returns the email. * @return String */public String getEmail() {return email;}/*** Set the email. * @param email The email to set */public void setEmail(String email) {this.email = email;}/*** Returns the age. * @return String */public String getAge() {return age;}/*** Set the age. * @param age The age to set */public void setAge(String age) {this.age = age;}/*** Returns the name. * @return String */public String getName() {return name;}/*** Set the name. * @param name The name to set */public void setName(String name) {this.name = name;}}
【第2步】建立ValidatorExamAction类
* Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */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;import com.yourcompany.struts.form.ValidatorExamForm;/*** MyEclipse Struts * Creation date: 04-19-2010 ** XDoclet definition: * @struts.action path="/validatorExam" name="validatorExamForm" input="/form/validatorExam.jsp" scope="request" validate="true" */public class ValidatorExamAction extends Action {/* * Generated Methods *//*** Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {ValidatorExamForm validatorExamForm = (ValidatorExamForm) form;// TODO Auto-generated method stubreturn null;}}
【第3步】配置struts-config.xml文件
<?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 > <data-source key="datasource" type="org.apache.commons.dbcp.BasicDataSource"> <set-property property="password" value="" /> <set-property property="minCount" value="1" /> <set-property property="maxCount" value="10" /> <set-property property="username" value="root" /> <set-property property="driverClassName" value="org.gjt.mm.mysql.Driver" /> <set-property property="description" value="for struts attack aolution" /> <set-property property="url" value="jdbc:mysql://localhost:3306/cytest" /> <set-property property="readOnly" value="false" /> <set-property property="autoCommit" value="true" /> </data-source> </data-sources> <form-beans > <form-bean name="AttackSolutionForm" type="com.yourcompany.struts.form.AttackSolutionForm" /> <form-bean name="showExceptionForm" type="com.yourcompany.struts.form.ShowExceptionForm" /> <form-bean name="validatorExamForm" type="com.yourcompany.struts.form.ValidatorExamForm" /> </form-beans><action-mappings > <action attribute="AttackSolutionForm" input="/form/attackSolution.jsp" name="AttackSolutionForm" path="/attackSolution" scope="request" type="com.yourcompany.struts.action.AttackSolutionAction"> <set-property property="cancellable" value="true" /> <forward name="success" path="/form/attackSolution.jsp" /> </action> <action attribute="showExceptionForm" input="/form/showException.jsp" name="showExceptionForm" path="/showException" scope="request" type="com.yourcompany.struts.action.ShowExceptionAction"> <set-property property="cancellable" value="true" /> <exception key="usernameException" path="/form/showException.jsp" type="com.yourcompany.exception.UserNameException" /> </action> <action attribute="validatorExamForm" input="/form/validatorExam.jsp" name="validatorExamForm" path="/validatorExam" scope="request" type="com.yourcompany.struts.action.ValidatorExamAction"> <set-property property="cancellable" value="true" /> </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/validator.xml" /></plug-in> </struts-config>
【第4步】建立validatorExam.jsp
<%@ page language="java" pageEncoding="gb2312"%><%@ 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 ValidatorExamForm form</title></head><body><html:form action="/validatorExam">email : <html:text property="email"/><html:errors property="email"/><br/>age : <html:text property="age"/><html:errors property="age"/><br/>name : <html:text property="name"/><html:errors property="name"/><br/><html:submit/><html:cancel/></html:form></body></html>
【第5步】配置validator.xml文件
<?xml version="1.0" encoding="GBK" ?><!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="validatorExamForm"> <field property="name" depends="required,maxlength,minlength,mask"> <msg name="required" key="error.name.blank" /> <msg name="minlength" key="error.name.minLength" /> <msg name="maxlength" key="error.name.maxLength" /> <msg name="mask" key="error.name.alphanum" /> <arg name="minlength" key="${var:minlength}" position="0" resource="false" /> <arg name="maxlength" key="${var:maxlength}" position="0" resource="false" /> <var> <var-name>minlength</var-name> <var-value>5</var-value> </var> <var> <var-name>maxlength</var-name> <var-value>10</var-value> </var> <var> <var-name>mask</var-name> <var-value>^*$</var-value> </var> </field> <field property="age" depends="required,integer,intRange"> <msg name="required" key="error.age.blank" /> <msg name="integer" key="error.age.integer" /> <msg name="intRange" key="error.age.intRange" /> <arg name="intRange" key="${var:min}" position="0" resource="false" /> <arg name="intRange" key="${var:max}" position="1" resource="false" /> <var> <var-name>min</var-name> <var-value>18</var-value> </var> <var> <var-name>max</var-name> <var-value>60</var-value> </var> </field> <field property="email" depends="required,email"> <msg name="required" key="error.email.blank" /> <msg name="email" key="error.email.invalid" /> </field> </form> </formset></form-validation>
【第6步】在ApplicationResources.properties文件中添加错误信息
error.name.blank = 姓名不能为空error.name.minLength = 姓名的长度不能小于{0}error.name.maxLength = 姓名的长度不能大于{0}error.name.alphanum = 姓名必须由字母和数字组成error.age.blank = 年龄不能为空error.age.integer = 年龄必须为数字error.age.intRange = 年龄必须在{0}和{1}之间
页:
[1]