<action name="actionA" class="com.company.Someaction">
<result name="success" type="redirect-action">
<param name="actionName">OtherActionparam>
<param name="paramA">${someParams}</param>
<param name="paramB">${someParams}</param>
<param name="aBoatLoadOfOtherParams">${aBoatLoadOfOtherParams}</param>
</result>
</action>
在上面的动作地图中,我将从SomeAction重定向到OtherAction。我遇到了问题,因为不幸的是我需要在两个操作之间传递大量数据。 IE7只允许GET请求像2k一样,所以当响应调用另一个动作的get请求时,我刚刚超过该限制就会爆炸。
我是否可以设置此重定向,最终将POST调用到其他操作?
答案 0 :(得分:6)
正如docs所述:
传递数据[重定向后]的唯一方法是通过 会话或web参数(url?name = value)[即GET请求的查询字符串]
action chaining可能是一个案例?我不确定,通常不推荐,但看起来你的情况很不寻常,所以看看可能会付出代价。
在这种情况下,我们并没有真正进行重定向,即我们不会回到客户端,而是将所有内容保留在服务器中。据说,然后,再次执行完整的拦截器堆栈 - 发布的数据应该影响新的操作,人们希望......