RegistrationForm.javapackage mypack;import javax.servlet.http.HttpServletRequest;
import org.apache.struts.validator.ValidatorActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;public class RegistrattionForm extends ValidatorActionForm{

private String password = null;
private String userName = null;

public String getPassword(){
return this.password;
}
public void setPassword(String password){
this.password = password;
}

public String getUserName(){
return this.userName;
}
public void setUserName(String userName){
this.userName = userName;
}

}
RegistrationAction.javapackage mypack;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;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 final class RegistrationAction extends Action {
    public ActionForward execute(
        ActionMapping mapping,
        ActionForm form,
        HttpServletRequest request,
        HttpServletResponse response)
        throws Exception {
        return mapping.findForward("success");
    }  }
}
struts-config.xml<?xml version="1.0" encoding="iso-8859-1"?>
<!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>
  <!--============================================== Form Bean Definitions  -->
  <form-beans>
    <!-- Registration form bean -->
    <form-bean name="registrationForm" type="mypack.RegistrationForm" />
  </form-beans>
  <!-- ========================================= Action Mapping Definitions -->
  <action-mappings>
    <!-- Registration Action -->
    <action path="/registration-submit" type="mypack.RegistrationAction" name="registrationForm" scope="request" validate="true" input="input">
      <forward name="input" path="/registration.jsp" />
      <forward name="success" path="/hello.jsp" />
    </action>
  </action-mappings>
  <!-- ============================================= Controller Definition  -->
  <controller inputForward="true" />
  <!-- ===================================== Message Resources Definitions  -->
  <message-resources parameter="ApplicationResources" />
  <!-- ============================================ Plug Ins Configuration  -->
  <!-- 
       Add multiple validator resource files by setting the pathnames property 
       with a comma delimitted list of resource files to load. 
    -->
  <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>validation.xml<?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>
  <global>
    <constant>
      <constant-name>phone</constant-name>
      <constant-value>^\(?(\d{3})\)?[-| ]?(\d{3})[-| ]?(\d{4})$</constant-value>
    </constant>
    <constant>
      <constant-name>zip</constant-name>
      <constant-value>^\d{5}\d*$</constant-value>
    </constant>
  </global>  <!-- ========================= Default Formset ========================= -->
  <formset>
    <constant>
      <constant-name>zip</constant-name>
      <constant-value>^\d{5}(-\d{4})?$</constant-value>
    </constant>
    <form name="registrationForm">
      <field property="firstName" depends="required,mask,minlength">
        <arg key="registrationForm.firstname.displayname" position="0"/>
        <arg name="minlength" key="${var:minlength}" resource="false" position="1"/>
        <var>
          <var-name>mask</var-name>
          <var-value>^\w+$</var-value>
        </var>
        <var>
          <var-name>minlength</var-name>
          <var-value>5</var-value>
        </var>
      </field>
      <field property="lastName" depends="required,mask,maxlength">
        <msg name="mask" key="registrationForm.lastname.maskmsg" />
        <arg key="registrationForm.lastname.displayname" position="0" />
        <arg name="maxlength" key="${var:maxlength}" resource="false" position="1"/>
         <var>
          <var-name>mask</var-name>
          <var-value>^[a-zA-Z]*$</var-value>
        </var>
        <var>
          <var-name>maxlength</var-name>
          <var-value>10</var-value>
        </var>
      </field>
      <field property="addr" depends="required">
        <arg key="registrationForm.addr.displayname" />
      </field>
      <field property="phone" depends="required">
        <arg key="registrationForm.phone.displayname" />
      </field>
      <field property="email" depends="required,email">
        <arg key="registrationForm.email.displayname" />
      </field>
    </form>
  </formset>
</form-validation>
最后把struts里面那个资源文件直接copy到classes下面就可以了!