【问题标题】:Redirection without losing request attributes in Struts 2在 Struts 2 中重定向而不丢失请求属性
【发布时间】:2016-09-06 07:15:26
【问题描述】:

我想为我的 JSP 页面执行重定向,该页面的 URL 将更改为 /folder/mypage.jsp,而不会丢失我的请求属性。

有什么方法可以在 Struts 2 中执行这种重定向?

<result type="redirect">/folder/mypage.jsp</result>

【问题讨论】:

  • 将动态参数添加到结果中或将请求属性值存储到会话中,如果您使用请求范围的变量,那么最好重定向到可以将这些变量添加到请求的操作
  • 罗曼,谢谢你的建议!
  • 任何时候有一个新的请求,根据定义,你会丢失当前请求的属性/参数。您需要再次发送它们——有多种方法可以完成。它也可能是一个XY problem,因为严格地“保留”请求属性可能比它的价值更麻烦。
  • 你是对的。我反对实现的工作方式。

标签: java jsp struts2 actionresult xml-configuration


【解决方案1】:

dispatcher 结果类型是您所需要的。当您使用这种类型的结果执行到 JSP 页面的重定向时,通过将请求转发到新请求来将请求分派到资源。默认使用dispatcher 结果类型。

<result>/folder/mypage.jsp</result>

通过这种方式,您可以“保留”上一个请求的所有属性。然后 Struts 过滤器能够将 JSP 页面委托给默认 servlet 而不是执行动作,但是会创建动作上下文,因此您可以在 JSP 中使用 Struts 标记。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 2012-02-25
    • 2019-01-19
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    相关资源
    最近更新 更多