forward的时候redirect设成false了吗?

解决方案 »

  1.   

    你在页面中attribute是怎么写的?还有,你是怎么设置页面跳转的?是不是没有经过Action直接指向了页面?
      

  2.   

    看样子,我没有描述清楚.
    校验不通过的时候不是会跳转到 input属性的里面去吗这样的话,有些从上页取过来的东西,如果放在request域中,就丢失了.
      

  3.   

    我也是刚开始学struts,不知道对struts理解的对不对:从客户端打开URL开始->装载jsp->读取struts form属性(会调用一次form的reset方法)->读取request中的内容(如果有的话)->显示->客户端做submit操作->struts客户端校验(如果你用了的话)->struts form校验->struts action->执行forward操作估计你的request中的值是在form的reset方法中或是jsp文件中设置的吧?如一些下拉列表的列表值,你的form可以只有一个选择结果的属性,没有option的内容,你的意思是不是把这些option的内容在做完服务端验证后继续保持?如果是的话,在服务端的校验方法中从request中读出那些非struts form的值再填到request中去不就行了?
      

  4.   

    我理解你是从A->B,这时的request里有数据用于描画B页,B页表单提交时验证,错误的话在返回B页。
    是这样吧?
    A->B是一个request(a),B提交后又是一个request(b),验证出多返回到B时是request(b),如果不作处理,就没有request(a)里的数据,就会出错。
    如果我没理解错,改正方法就有很多种了,
    1,验证失败后在request里添加必要的值用于描画B页
    2.改写B也,如果显示B也时发现缺少某些数据,就跳转到一个action,在那个action里生成必要数据,在返回B,不过这样errors信息好像又没了
    3,验证失败后不要返回B的那个JSP,返回到A->B的那个XXX.do action
    等等,应该有很多方法的。
    这个我以前也遇到过,当时用过1,2方法,最近才知道验证失败可以返回到一个action而不是一定返回到JSP页面,所以这个方法还没用过
      

  5.   

    yinj(笑笑生) 理解的没有错,我试试啊.