【发布时间】:2013-09-30 21:48:13
【问题描述】:
redirect 和redirectAction 在 Struts2.3 上下文中的主要区别是什么。
我在下面看到了redirect 和redirectAction 的网址。
以下几点我很清楚:
- redirect 类似于 sendRedirect() 方法。创建新请求,清除先前的值堆栈和操作(操作实例、操作错误、字段错误等)不再可用。
- 在
redirectAction中,控制跳转到不同的动作(在相同或其他包中) -
建议使用
redirectAction而非重定向。
但是当我实现上述两个示例时,我只需要更改我的struts.xml。
- 在这两种情况下,操作都不再可用,
- 新请求已创建,
- 生成的 URL 相同。
首先,我对redirectAction Apache 文档中写的声明感到困惑
这比 ServletRedirectResult 更好,因为它不 要求您对 ActionMapper 处理的 URL 模式进行编码 在你的 struts.xml 配置文件中。这意味着你可以改变 您的 URL 模式在任何时候,您的应用程序仍然可以工作。 强烈建议,如果您要重定向到另一个 操作,您使用此结果而不是标准重定向结果。
其次,我还是不太清楚这两者的区别。
【问题讨论】:
-
redirect正在重定向到应用程序上下文外部的某个 URL,例如“google”或yahoo,其中redirectAction在您的应用程序范围内重定向。此外,在所有情况下,新请求都会生成。 -
为什么要评论,这就是答案,清晰而直接;)
标签: apache redirect configuration struts2 actionresult