gpt4 book ai didi

java - 如何使用 Struts2 禁用后退按钮

转载 作者:行者123 更新时间:2023-12-04 05:47:28 31 4
gpt4 key购买 nike

我正在使用 struts.serve.static=truestruts.serve.static.browserCache=false ,但即使在注销后后退按钮仍然有效。当我单击后退按钮时,它会转到上一个屏幕。我该如何解决这个问题?

最佳答案

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

struts.serve.static=true

以上属性由 FilterDispatcher 使用
  • 如果为 true,则 Struts 从其 jar 中提供静态内容。
  • 如果为 false,则静态内容必须位于/struts

  • 还有 struts.serve.static.browserCache=trueFilterDispatcher 使用并且只有在 struts.serve.static=true 时才有效.
  • 如果为 true -> Struts 将写出静态内容的 header ,以便它们
    被 Web 浏览器缓存(使用 Date、Cache-Content、Pragma、Expires)
    头)。
  • 如果 false -> Struts 将写出静态内容的 header ,以便它们是
    不被 Web 浏览器缓存(使用 Cache-Content、Pragma、Expires
    标题)
    简而言之,这两个常量都是告诉浏览器是否需要缓存 S2 提供的静态内容的一种方式。

  • 关于浏览器后退按钮,我们不能禁用浏览器后退按钮作为浏览器 API 的一部分,当您点击后退按钮时,浏览器正在从其缓存中提供内容而无需点击服务器。

    您可以通过使用缓存控制 header 要求浏览器不缓存内容,但浏览器是否尊重它们。在您的 JSP 中使用以下代码
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Expires", "0");

    或者,您可以创建一个拦截器并使用您想要的操作对其进行配置,以便可以设置 header 。
    请通过以下线程了解有关如何控制 S2 中的缓存的更多详细信息
  • Handling-Browser-Back-Forward-Button-in-Struts2
  • 关于java - 如何使用 Struts2 禁用后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10497281/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com