Struts 2.3-重定向与redirectAction

Jai*_*rat 5 apache configuration redirect struts2 actionresult

redirectredirectActionStruts2.3上下文之间的主要区别是什么。

我在下面看到了用于redirectredirectAction的 URL 。

我很清楚以下几点:

  • 重定向就像sendRedirect()方法。将创建新请求,以清除先前的值堆栈,并且不再提供操作(操作实例,操作错误,字段错误等)。
  • 在中redirectAction,控制跳到不同的动作(在相同或其他程序包中)
  • redirectAction 建议不要通过重定向。

但是,当我实现上述两个示例时,只需更改即可struts.xml

  • 在这两种情况下,动作均不再可用,
  • 创建新请求,
  • 生成的URL是相同的。

首先,我对Apache文档中关于以下内容的声明感到困惑 redirectAction

这比ServletRedirectResult更好,因为它不需要您将ActionMapper处理的URL模式编码到struts.xml配置文件中。这意味着您可以随时更改URL模式,并且您的应用程序仍然可以运行。强烈建议您如果要重定向到其他操作,请使用此结果,而不要使用标准重定向结果。

其次,我对两者之间的区别还不太清楚。

Rom*_*n C 2

区别很明显:redirectAction只是另一种结果类型,它扩展了redirect结果类型,提供了属性actionNamenamespacemethod。这些属性用来构建 URI,用来替代结果类型location的属性redirect

该语句没问题,最好构建ActionMapping由结果类型实现的URL redirectAction,而不是手动编码。即使手动也总是使用UrlHelper而不是硬编码。在 JSP 中始终使用该s:url标签。

  • 如果这是显而易见的,就没有必要问这个问题:-) (10认同)