我刚学Struts 不久 对这个Struts 不怎么懂 ,今天第一用Validation框架验证表单 就遇到难题 
  希望 大虾们 帮我解决:
 问题: Validation不验证 直接进入Action.
  代码:
login.jsp  <html:form action="/login.do?metdom=getUser">
              <table border="0">
                <tr>
                 <td><bean:message key="username"/>:</td>
                   <td><html:text property="username"></html:text></td>
                   <td><html:errors/></td>
                </tr>
                <tr>
                    <td><bean:message key="password"/>: </td>
                   <td><html:password property="password"></html:password></td>
                   <td></td>
                </tr>
                <tr>
                    <td colspan="2" align="center">
                        <html:submit> <bean:message key="submit"/></html:submit>
                    </td>
                </tr>
              </table>
           </html:form>
 struts-config.xml    <form-bean name="user" type="org.apache.struts.validator.DynaValidatorActionForm">
         <form-property name="username" type="java.lang.String"></form-property>
         <form-property name="password" type="java.lang.String"></form-property>
     </form-bean>    <action path="/login" type="com.strutsitem.action.UserAction" name="user" parameter="metdom" validate="true"></action>
   
     <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
       <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </plug-in>
 
Validation.xml      <form-validation>
     <formset>
         <form name="user">
             <field property="username" depends="required">
                  <arg0 key="prompt.username"/>            
             </field>
             <field property="password" depends="required">
                   <arg0 key="password"/>
             </field>
         </form>
     </formset>
 </form-validation>
UserAction.javapublic class UserAction extends DispatchAction
{
    public ActionForward getUser(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
DynaValidatorActionForm dvaf = (DynaValidatorActionForm) form;
System.out.println(dvaf.get("username"));
return null;
    }
}ApplicationResources.properties   errors.required={0} is required.

解决方案 »

  1.   

    <html:form action="/login.do?metdom=getUser"><html:form name="user" action="/login.do?metdom=getUser">
      

  2.   

    <html:form name="user" action="/login.do?metdom=getUser">支持
      

  3.   


    struts-config.xml中加入:
    <message-resources parameter="ApplicationResources" />
      

  4.   

    你action都没有完全引入form。如果完成引入的话,action是有两个属性配置好的,一个是name,一个attribute。这是我以前配置好的,发给你看看
    <form-bean name="adminForm" type="org.apache.struts.validator.DynaValidatorForm">
          <form-property name="password" type="java.lang.String" />
          <form-property name="role" type="java.lang.String" />
          <form-property name="name" type="java.lang.String" />
    </form-bean> <action
          attribute="adminForm"
          input="/login.jsp"
          name="adminForm"
          parameter="method"
          path="/admin"
          scope="request"
          type="com.gjun.struts.action.AdminAction">
          <forward name="loginsuccess" path="/admin/index.jsp" />
     </action>