我想把验证的错误结果用actoin中的input跳转回本页面显示  但是没有任何东西显示:
我的部分源码如下:
validate.jsp:
<%@ page language="java" pageEncoding="GBK"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
  <head>
    <html:base />
    
    <title>validate.jsp</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->  </head>
  
  <body>
    <html:errors/>
    <center>
    <h1>验证框架的使用</h1>
    <html:errors/>
    <html:form action="yanzheng.do" method="post">
       <html:text property = "email"/>
       <html:submit value="提交"></html:submit>
    </html:form>
    </center>
  </body>
</html:html>
配置文件:
<?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="org.yebing.struts.form.LoginForm" />
    <form-bean name="dispatchForm" type="org.yebing.struts.form.DispatchForm" />
    <form-bean name="fenfaForm" type="org.yebing.struts.form.FenfaForm" />
    <form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm" >
        <form-property name="name" type="java.lang.String"></form-property>
        <form-property name="sex" type="java.lang.String"></form-property>
    </form-bean>
    <form-bean name="yanzhengForm" type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="email" type="java.lang.String" />
    </form-bean>
    
      </form-beans>  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action path="/first" type="org.apache.struts.actions.ForwardAction" parameter="/login.jsp"></action>
    <action path="/second" type="org.apache.struts.actions.ForwardAction" parameter="/dispatch.jsp"></action>
    <action
      attribute="loginForm"
      input="/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      
      type="org.yebing.struts.action.LoginAction" >
      <forward name="success" path="/login_success.jsp"></forward>
      </action>
    
    <action
      attribute="fenfaForm"
      input="/form/fenfa.jsp"
      name="fenfaForm"
      path="/fenfa"
      scope="request"
      type="org.yebing.struts.action.FenfaAction" parameter="ff"/>
    <action
      attribute="dynaForm"
      input="/form/dyna.jsp"
      name="dynaForm"
      path="/dyna"
      scope="request"
      type="org.yebing.struts.action.DynaAction" />
    <action
      attribute="yanzhengForm"
      input="/validate.jsp"
      name="yanzhengForm"
      path="/yanzheng"
      scope="request"
      type="org.yebing.struts.action.YanzhengAction" validate="true"/>  </action-mappings>  <message-resources parameter="org.yebing.struts.ApplicationResources" />
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </plug-in>
</struts-config>validation.xml:
<!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="yanzhengFrom">
        <field property="email" depends="required">
        <arg key="err.email" resource="true"/>
        </field>
        
      </form>
   </formset>
</form-validation>          action:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package org.yebing.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 org.apache.struts.action.DynaActionForm;/** 
 * MyEclipse Struts
 * Creation date: 09-13-2008
 * 
 * XDoclet definition:
 * @struts.action path="/yanzheng" name="yanzhengForm" input="/form/yanzheng.jsp" scope="request" validate="true"
 */
public class YanzhengAction 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) {
DynaActionForm yanzhengForm = (DynaActionForm) form;// TODO Auto-generated method stub
System.out.println(yanzhengForm.getString("email"));
return null;
}
}form:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package org.yebing.struts.form;import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;/** 
 * MyEclipse Struts
 * Creation date: 09-13-2008
 * 
 * XDoclet definition:
 * @struts.form name="yanzhengForm"
 */
public class YanzhengForm extends ActionForm {
/*
 * Generated Methods
 */ /** 
 * Method validate
 * @param mapping
 * @param request
 * @return ActionErrors
 */
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
} /** 
 * Method reset
 * @param mapping
 * @param request
 */
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
}
}资源文件:
# Resources for parameter 'org.yebing.struts.ApplicationResources'
# Project strutsdao
name.null=<li>\u59d3\u540d\u4e0d\u80fd\u4e3a\u7a7a
password.null=<li>\u5bc6\u7801\u4e0d\u80fd\u4e3a\u7a7a
err.email=<li>\u90ae\u7bb1
errors.required={0} \u4e0d\u80fd\u4e3a\u7a7a\uff01\uff01\uff01\uff01validator-rules.xml没有改变得不到验证信息   
在线等待  谢谢!

解决方案 »

  1.   

    不知道你用的 struts 是那个版本的
    我以前看过以点 struts1.1的,
    你一下的配置好像不对的吧
    <form-validation> 
      <formset> 
          <form name="yanzhengFrom"> 
            <field property="email" depends="required"> 
            <arg key="err.email" resource="true"/> 
            </field> 
            
          </form> 
      </formset> 
    </form-validation>  
    还有就是它的验证框架做的好像是前台的验证吧,也就是所它可以在页面自动生成JS
    我从来没用过,只是在网上看到过相关的接受
    你还是Google一下吧,很多的,这个应该很简单的啊