在struts1.2中,我们在action里面可以这样写实现跳转:
ActionForward reportForward=new ActionForward("/MyAction?param1=X&param2=Y");
reportForward.setRedirect(true);
return reportForward;
return super.execute();
现在用struts2,代码要怎么改呢?

解决方案 »

  1.   

    呵呵 在某个qq群问到答案了,贴出来共享.
    不过分数还是要送出去的,呵呵,期待有更好的答案...
    在struts1.2中,我们在action里面可以这样写实现跳转:ActionForward reportForward=new ActionForward("/MyAction?param1=X&param2=Y");
    reportForward.setRedirect(true);
    return reportForward;
    return super.execute();
    现在用struts2,代码可以这样改:在action方法中return "report"; 
    <result name="report">/MyAction?param1=${X}</result> 
    ${X}这个表达式就是取action中变量名为X的值 
    如果是对象就用${X.name} 
    多参数的话&符号要用转义 &amp; 
      

  2.   

    楼上的做法可以,但是不推荐!要使用Struts2框架本身的原生态支持,现在吃喝什么的不都讲究这个吗?哈!
    <result type="redirect-action">//注意:如果你使用的Struts2.0.9后的版本,你应该写成redirectAction!
       <param name="actionName">重定向的action的名字</param>
       <param name="namespace">重定向的action所在的名称空间</param>
       <param name="param1">${x}</param>
       <param name="param2">${y}</param>
    </result>