是不是    <html:javascript formName="bookForm" dynamicJavascript="true" staticJavascript="false" />
staticJavascript为false的原因?

解决方案 »

  1.   

    我最近也学validator,你的问题应该是少了这句话。
    <script language="Javascript1.1" src="staticJavascript.jsp"></script>
    同时,你还应该去任何一个struts例子中,把其中的staticJavascript.jsp文件。拷到的你项目中。
    这样应该可以解决
      

  2.   

    这个问题好象是你使用了DynaValidatorForm类的缘故,我记得要是用它的话,就不能使用Struts的验证。
      

  3.   

    我估计是没有继承validorForm的缘故吧,我猜,不太清楚
      

  4.   

    感谢各位大哥的帮忙,但是以上大哥们介绍的方法,我都试过了,还是不行,
    TOMCAT报的错为:[ERROR] 2005-12-10 22:17:04 org.apache.struts.validator.DynaValidatorForm - org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest)
    org.apache.commons.validator.ValidatorException: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest)
    at org.apache.commons.validator.ValidatorAction.loadValidationMethod(ValidatorAction.java:627)
    at org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:557)
    at org.apache.commons.validator.Field.validateForRule(Field.java:827)
    at org.apache.commons.validator.Field.validate(Field.java:906)
    at org.apache.commons.validator.Form.validate(Form.java:174)
    at org.apache.commons.validator.Validator.validate(Validator.java:367)
    at org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:110)
    at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:928)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:204)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at hotel.framework.web.filter.SetEncodeFilter.doFilter(SetEncodeFilter.java:49)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
    at java.lang.Thread.run(Thread.java:534)希望各位大哥再帮帮忙,帮我看看...
      

  5.   

    问题解决了吗?
    我用validator自带的验证,如required,minlength等没有问题,在页面中也可以顺利弹出出错提示窗口,可以自己弄了一个验证两个字段是否一致的例子后,tomcat后台没有错误,页面也能捕捉到错误,可是就是不弹出提示窗口,郁闷,还望大侠赐教。谢谢。