我在登录界面用验证框架验证登录名和密码非空,结果,启动Tomcat后 直接登录(输入正确的登录名和密码)没有任何问题,但是我故意不输入登录名和密码,让验证回到登录页面后,再输入正确的登录名和密码,有回到登录页面在Action中测试结果发现根本没有到达Action,大侠指点!

解决方案 »

  1.   

    那是因为被 struts2 验证拦截器给拦截了,你去看看 struts2 的拦截器的原理吧
      

  2.   

    struts2有两种形式的验证框架啊,你用的哪种啊?
      

  3.   

    <!DOCTYPE validators PUBLIC
     "-//OpenSymphony Group//XWork Validator 1.0//EN" 
     "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
    <validators>  
        <field name="dl.xh">
         <field-validator type="requiredstring">
         <param name="trim">true</param>
         <message>学号是必须的!</message>
         </field-validator>
        </field>
        <field name="dl.kl">  
           <field-validator type="requiredstring">
         <param name="trim">true</param>
         <message>口令是必须的!</message>
         </field-validator>
        </field>
    </validators>  
    ---------------------------------------
    这是验证框架里面的内容!
      

  4.   

    Struts2中默认input是录入页面,这样这里就默认回到了“原来的页面”,如果我们的录入页面不是input所指的页面,恐怕就会有问题了。因此在做Struts2应用的时候,最好一个action只有一个录入页面,否则会有些麻烦了。因此如果想做一个业务异常的拦截器的话,最好也是返回input,从这里也能看出Struts2也在向ROR学习,约定高过配置的思想。