Struts2 - 使用动态参数通过注释转发

时间:2014-03-13 23:06:51

标签: java dynamic parameters struts2 annotations

我试图将动作结果转发给具有动态参数的另一个动作。传递给第二个操作的参数值为""

@Result(name = "success", 
    location = "edit_service_subscribers", 
        type = "redirect", 
      params = {"selectedServiceId", "%{serviceId}"}
)

我在第一个动作中用getter和setter声明了private String serviceId;, 和private String selectedServiceId;在第二个动作中使用getter和setter。

问题在于填充参数的值。但在哪里?

如何将动作类中的全局变量值传递给重定向参数?

3 个答案:

答案 0 :(得分:3)

  1. 使用RedirectAction重定向到另一个操作。
    Redirect结果用于重定向到非操作网址(例如 外部网址)。

  2. 这不是OGNL:而不是

    "%{serviceId}"
    

    使用

    "${serviceId}"
    

答案 1 :(得分:3)

我已经解决了。我不知道怎么做,但是GETer消失了......那么多时间花在那上面......

我的实际代码是:

})
@Results({
    @Result(name = "success", type = "redirectAction",params = {"namespace", "/", "selectedServiceId", "${serviceId}", "actionName", "edit_service_subscribers"})
})

工作正常。

答案 2 :(得分:1)

用此

替换你的行
@Result(name = "success", location = "/department.jsp",
        type="redirect", params={"yourkey", "${passingvalue}"})