Struts 2 - 当第二个动作与表单一起使用时,动作之间传递参数会丢失

时间:2013-01-01 13:59:22

标签: java struts2 parameter-passing chain model-driven

我有两个动作类,它们在ModelDriven接口上使用相同的模型。 每个操作类都使用表单。 我需要在两个操作中将值存储到相同的模型中。

从第一个动作类(验证后),我通过以下方式将modeldriven模型传递给第二个类:

@Result(name = "success", location = "action2", type = "chain")

在第二个动作类中,我显示了在第一个动作中存储到模型中的值。

这很好用,但是当我在第二个动作中执行表单提交时,存储的值 从第一次行动中就失去了。

因此,第一次操作的数据仅存储在第一次调用第二次操作中。

有没有解决办法来实现这个目标?

1 个答案:

答案 0 :(得分:0)

将您的数据放入会话或使用带有herethere所述结果的参数。

  

可以使用params属性将参数传递给结果。该属性的值是一个字符串数组,其中包含{“key0”,“value0”,“key1”,“value1”......“keyN”,“valueN”}形式的偶数个元素。例如:

 @Action(value="/different/url",
    results={@Result(name="success", type="httpheader", params={"status", "500", "errorMessage", "Internal Error"})}
  )