关于struts.xml中的struts2重定向操作结果

关于struts.xml中的struts2重定向操作结果,struts2,Struts2,可以Struts2重定向操作结果传输类似Person的引用类型 我的代码 <action name="saveAdAction" class="saveAdAction"> <result name="success" type="redirectAction"> <param name="actionName">getAdAction</param> <param na

可以
Struts2重定向操作结果
传输类似Person的引用类型

我的代码

    <action name="saveAdAction" class="saveAdAction">
        <result name="success" type="redirectAction">
            <param name="actionName">getAdAction</param>
            <param name="namespace">/</param>
            <param name="person">${person}</param>
        </result>           
    </action>

    <action name="getAdAction" class="getAdAction">     
        <result name="success">/ad/ad.jsp</result>
        <result name="input">/index.jsp</result>
    </action>

getAdAction
/
${person}
/ad/ad.jsp
/index.jsp
这个人是saveAdAction和getAdAction中的一个bean


当我使用saveAdAction时,网页将跳转到index.jsp。为什么?

不,重定向只能传输请求参数,就像任何常规servlet重定向一样。因此,您必须将person的每个属性作为请求参数传递,或者将person放入会话中,并提供一个密钥,以便在下一个操作中查找。

不,这是不可能的,使用
重定向操作
将创建一个新的值堆栈,并创建请求和响应的新实例

因此,您以前的所有数据都将丢失。传输数据的方法很少,这里也有一些

  • 在会话中保存数据,并在其他操作中检索数据
  • 传递查询字符串,这在您的情况下是不可能的
  • 使用

  • 您可以选择上面的任何选项

    ,但我尝试在我的项目中,redirectAction可以传输整数数据,如下面的GetAdaAction/${id}