CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

dynaValidatorForm验证

楼主h_yufa()2005-05-25 17:08:07 在 Java / 框架、开源 提问

//validation.xml  
  <form-validation>  
      <formset>  
          <form   name   ="helloForm">  
              <field   property   ="userName"  
                            depends   ="required">  
                    <arg0   key   ="hello.jsp"/>  
              </field>  
               
             
          </form>  
      </formset>  
  </form-validation>  
  <form-beans   >  
              <form-bean   name="helloForm"   type="org.apache.struts.validator.DynaValidatorForm">  
                    <form-property   name="userName"   type="java.lang.String"   />  
              </form-bean>  
   
        </form-beans>  
   
        <action-mappings   >  
              <action  
                    attribute="helloForm"  
                    name="helloForm"  
                    path="/HelloWorld"  
                    scope="session"  
                    validate   ="true"  
                    type="hello.HelloAction">  
                     
                    <forward  
                          name="SayHello"  
                          path="/hello.jsp"  
                        />  
              </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>  
   
   
  HelloAction.java  
  public   ActionForward   execute(ActionMapping   mapping,  
                                                                ActionForm   form,  
                                                                HttpServletRequest   request,  
                                                                HttpServletResponse   response)  
      throws   Exception   {  
   
              //   These   "messages"   come   from   the   ApplicationResources.properties   file  
              MessageResources   messages   =   getResources(request);  
   
              /*  
                *   Validate   the   request   parameters   specified   by   the   user  
                *   Note:   Basic   field   validation   done   in   HelloForm.java  
                *               Business   logic   validation   done   in   HelloAction.java  
                */  
              ActionMessages   errors   =   new   ActionMessages();  
            //   String   userName   =   (String)((HelloForm)   form).getUserName();  
              String   userName   =(   String)   ((   DynaValidatorForm)   form).get(   "userName");  
   
              String   badUserName   =   "Monster";  
   
              if   (userName.equalsIgnoreCase(badUserName))   {  
                    errors.add("username",   new   ActionMessage("hello.dont.talk.to.monster",   badUserName   ));  
                  //   saveErrors(request,   errors);  
                    return   (new   ActionForward(mapping.getInput()));  
              }  
   
              /*  
                *   Having   received   and   validated   the   data   submitted  
                *   from   the   View,   we   now   update   the   model  
                */  
              PersonBean   pb   =   new   PersonBean();  
              pb.setUserName(userName);  
              pb.saveToPersistentStore();  
   
              /*  
                *   If   there   was   a   choice   of   View   components   that   depended   on   the   model  
                *   (or   some   other)   status,   we'd   make   the   decision   here   as   to   which  
                *   to   display.   In   this   case,   there   is   only   one   View   component.  
                *  
                *   We   pass   data   to   the   View   components   by   setting   them   as   attributes  
                *   in   the   page,   request,   session   or   servlet   context.   In   this   case,   the  
                *   most   appropriate   scoping   is   the   "request"   context   since   the   data  
                *   will   not   be   neaded   after   the   View   is   generated.  
                *  
                *   Constants.PERSON_KEY   provides   a   key   accessible   by   both   the  
                *   Controller   component   (i.e.   this   class)   and   the   View   component  
                *   (i.e.   the   jsp   file   we   forward   to).  
                */  
   
              request.setAttribute(   Constants.PERSON_KEY,   pb);  
   
              //   Remove   the   Form   Bean   -   don't   need   to   carry   values   forward  
              request.removeAttribute(mapping.getAttribute());  
   
              //   Forward   control   to   the   specified   success   URI  
              return   (mapping.findForward("SayHello"));  
   
   
  为什么会出现  
  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:587)  
  at   org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:517)  
  at   org.apache.commons.validator.Field.validateForRule(Field.java:637)  
  at   org.apache.commons.validator.Field.validate(Field.java:716)  
  at   org.apache.commons.validator.Form.validate(Form.java:198)  
  at   org.apache.commons.validator.Validator.validate(Validator.java:284)  
  at   org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:112)  
  at   org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:921)  
  at   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:206)  
  at   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)  
  at   org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:763)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:856)  
  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)  
  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)  
  at   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)  
  at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)  
  at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:736)  
  at   org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)  
  at   org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)  
  at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)  
  at   java.lang.Thread.run(Thread.java:595) 问题点数:50、回复次数:4Top

1 楼junhong202(junhong)回复于 2005-06-28 22:17:06 得分 0

我有这个问题,不知道怎么回事,我觉得我没有配置错阿Top

2 楼nimifeng(学海无涯.......苦作舟....理解是美!!!Mars.Neil)回复于 2005-06-28 22:49:12 得分 0

不熟.帮顶.Top

3 楼junhong202(junhong)回复于 2005-06-29 08:52:59 得分 50

我知道了,我刚刚解决了这个问题,你用的struts库的版本问题,我刚开始用的myeclipse得库就出现这个问题,你现在把它换成struts1.2.7就可以了。Top

4 楼h_yufa()回复于 2005-07-15 15:48:52 得分 0

还有很多多多问题!!!!!!!Top

相关问题

  • 身份验证
  • 验证问题
  • 密码验证
  • 验证程序?
  • struts 验证
  • 验证码
  • 密码验证
  • 密码验证
  • 验证代理
  • 关于验证!!!

关键词

  • .net
  • commons
  • apache
  • pb
  • component
  • view
  • struts
  • servlet
  • validatoraction
  • validate

得分解答快速导航

  • 帖主:h_yufa
  • junhong202

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo