如何使用 Struts2 禁用后退按钮

2024-03-31

我在用struts.serve.static=true and struts.serve.static.browserCache=false,但后退按钮即使在注销后也能工作。当我单击后退按钮时,它将转到上一个屏幕。我该如何解决这个问题?


S2 将使用上述常量来告诉浏览器是否需要缓存静态内容。

struts.serve.static=true

以上属性由以下人员使用FilterDispatcher

  • 如果为 true,则 Struts 从其 jar 内提供静态内容。
  • 如果为 false,则静态内容必须在 /struts 中可用

also struts.serve.static.browserCache=true被使用FilterDispatcher并且只有在以下情况下才会起作用struts.serve.static=true.

  • 如果 true -> Struts 将写出静态内容的标头,以便它们 由 Web 浏览器缓存(使用 Date、Cache-Content、Pragma、Expires) 标题)。
  • 如果为 false -> Struts 将写出静态内容的标头,以便它们 不被网络浏览器缓存(使用 Cache-Content、Pragma、Expires 标题) 简而言之,这两个常量都是告诉浏览器是否需要缓存 S2 提供的静态内容的一种方式。

关于浏览器后退按钮,我们无法禁用浏览器后退按钮,因为它是浏览器 API 的一部分,当您点击后退按钮时,浏览器将从其缓存中提供内容,而无需访问服务器。

您可以使用缓存控制标头要求浏览器不要缓存内容,但这取决于浏览器是否尊重它们。在 JSP 中使用以下代码

response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");

或者,您可以创建一个拦截器并使用所需的操作对其进行配置,以便可以设置标头。 请通过以下线程了解有关如何控制 S2 中的缓存的更多详细信息

  • 在 Struts2 中处理浏览器后退-前进按钮 http://struts.1045723.n5.nabble.com/Handling-Browser-Back-Forward-Button-in-Struts2-td3491225.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Struts2 禁用后退按钮 的相关文章

随机推荐