在struts2中,如果对使用chain方式跳转页面(action1->action2),在action1中对值栈赋值,为什么在action2中获不到action1中的赋的值,而在action2中获得的是最原始的值?怎样才能在action1中改变值栈中的值后,在action2中能获得新值?

解决方案 »

  1.   

    我刚刚学习了,还没有去测试action的跳转的值是否能获取 我想应该可以获取值,我用OGNL表达式获取action的值栈,没有问题!你用什么方法取值啊
      

  2.   

    chain 属于转发啊,应该可以获得值的啊,你是怎么取值的 ,如果使用chain不行的话,
    换一种转发方式,使用redirectAction 
    example:
     <result name="success" type="redirectAction">action2</result>
      

  3.   

    jsp页面(转发) -> action1(对成员变量赋值,chain转发) -> action2(没有接受到action1中成员变量的赋值,而接受的还是jsp中的值)怎么才能在action1中赋值之后再action2中能接受到?
    大概就是这个意思!
      

  4.   

    chain不是转换action的...是链式传递
    就是保持前一个action的request给你指定的下一个action
    注意传递的是request
      

  5.   

    我在action1中赋值的时候都已经观察request的变化了,确实赋值成功了,但是chain到action2的时候request中的变量又变回到最先jsp中传递过来的值了,不知道为什么action1中赋过的值没有了!
      

  6.   

    你可以通过struts2配置文件的重定向来实现从action1直接传值到action2中
      

  7.   

    在转发的时候直接在action后面附上参数就行了 
    e.g:
    login?name="${username}"