在struts2验证里面,如验证用户信息不能为空时,第一次提交表单会显示一条:请输入用户名。当再次提交时,却显示2条:请输入用户名,然后每提交一次就多增加一条  也就是说addFieldError里面的内容不会清除  不知道什么原因  高手解答  这里谢谢了

解决方案 »

  1.   

    sos啊   等这用啊   哪位大哥大姐经过能留下点痕迹啊 谢谢了
      

  2.   

    你的跳转请求页面是直接“forward”的,而不是redirect的,主要的话每次刷新都会有问题,也就是你的配置文件跳转你没有设置好
      

  3.   

    你的跳转请求页面是直接“forward”的,而不是redirect的,前者的话每次刷新都会有问题,你查一下具体的代码,后者几乎不用什么代码,就是逻辑上增加一层
      

  4.   

    把volidate方法贴出来看看
    我看看返回的Errors
      

  5.   

     this.addFieldError("message", "请输入留言");
    那个Error集合每次调用validate的时候,new()一下
      

  6.   

    11楼的没明白 我用的是struts2的啊  跳转是struts帮跳转的啊 我只是配置下而已啊
      

  7.   

    楼主是不是在jsp页面上的form里加了validate="true"了?如果加了去掉试试
      

  8.   

    15楼的  不会吧   我看了其他源程序   都没有加这个啊 16楼的   我form里面没有田间validate属性啊
      

  9.   


    那你就加个validate="false"如果是struts2.0版本的 加上validate="true",也就是说允许客户端验证,好像会出现你刚才的情况
      

  10.   

    没用啊  我没有添加validate  我把form里面的validate设置为false还是一样啊
      

  11.   

    哈哈 被我搞定 在validate方法里面添加clearErrors()方法即可解决 哈哈....