如何使用type = redirect重定向到另一个Action时传递参数?

时间:2013-07-26 01:02:34

标签: java struts2 action-mapping

我需要将一个参数从一个动作传递给另一个参数,但它会遇到以下错误。

Messages:   
There is no Action mapped for namespace [/Product/Product] and action name [desc] associated with context path [].

struts.xml中

 <package name="MyProducts" extends="default" namespace="/Product/Find">
 <result name="Desc" type="redirectAction">
                <param name="actionName">../Product/desc</param>
                <param name="id">${id}</param>
 </result>
 ....

 <package name="Product" extends="default" namespace="/Product">
    ..........

在第一个操作中(在命名空间/产品/查找中)我设置了具有getter和setter的id。

在第二个动作中(在命名空间/产品中)我有一个id变量和getter和setter。

2 个答案:

答案 0 :(得分:2)

在您的地址中添加另一个../试试这个../../产品/ desc

我知道他的意思,我认为我只需回答你的问题而不提供任何其他方法,

   <result name="YOUR RESULT NAME" type="redirectAction">
           <param name="actionName">desc</param>
           <param name="namespace">/Product</param>
   </result>

不要伪造在命名空间名称之前用/否则它不起作用。 要重定向到默认包中的操作,请使用/作为命名空间参数。

答案 1 :(得分:0)

最好的选择是你可以使用会话对象在会话中设置变量,然后可以在重定向的动作类中访问该会话。我只是通过在重定向动作中传递变量来寻找你的答案。希望它对你有所帮助。