【发布时间】:2013-03-01 08:49:49
【问题描述】:
我有遗留应用程序,它使用专有框架,或多或少类似于 struts 1.2。现在我们已经开始 使用 struts 2. 在很多地方,我将 html 表单提交给来自 jsp 的旧操作。我想要的是第一个请求 到我的新 struts 2 动作,然后我将请求从那里转发到我的旧动作,以便我在目标旧动作中获取所有源请求参数。我知道有结果类型 重定向(如下所述),但这不会将源请求参数转发到遗留操作。
@Result(name = "displayCustomer",
location = "legacyAction.do", type = "redirect")
@Action("display-customer!displayCustomer")
public String displayCustomer() {
return "displayCustomer";
}
我没有找到任何类似于重定向的“转发”类型。我不确定如何将请求转发到来自 struts 2 的非 struts 2 动作 行动?
【问题讨论】:
-
默认响应类型是转发。为什么要先行动?
-
因此,如果我想将这些遗留动作转换为 struts 2 动作,我没有修改 jsps/view。
-
你说默认响应类型是转发,这是否意味着我不必在结果注释中提及 type = "redirect"。在这种情况下,所有请求参数都将转发到我的旧操作。是吗?
-
@Dave 我试着只给@Result(name = "displayCustomer", location = "legacyAction.do") 将请求转发给旧版操作,但服务器没有启动?
-
响应没有任何东西可以阻止重定向到动作,无论它是否是旧的,大多数调整都是为了使其与不在值堆栈上的对象兼容。可以选择将旧版操作与旧版插件链接起来吗?
标签: java model-view-controller struts2