java - 发布/重定向/获取 Struts 1

标签 java redirect post get struts

我有一个 Struts 1 Web 应用程序,我想实现 post/redirect/get 以便在用户按下浏览器上的后退/前进按钮时强制重定向。主要问题是我们要实现 session 超时。当 session 过期时,我们将重定向到“sessionExpired”页面,但如果用户在浏览器上单击返回,我们希望隐藏上一页的信息。我已经添加了删除操作缓存的代码:

response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate");
response.setHeader("Pragma", "no-cache");

但这会在浏览器中抛出“缓存中未找到页面”,我们希望运行重定向到页面而不是“无缓存”页面的内容。这就是我尝试实现 PRG 的原因。

最佳答案

Post/Redirect/Get pattern不包括在用户按下后退按钮时强制重定向。它包括在成功的 POST 请求后发送重定向。

在 Struts 1 中,使用 redirect="true" 定义转发,如果您返回此转发,Struts 将发送重定向:

<forward name="success" path="/index.do" redirect="true"/>

关于java - 发布/重定向/获取 Struts 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11755553/

相关文章:

ios - AFNetworking 发送 JSON 作为 POST 请求的参数

java - 当输入金额和土耳其里拉 "TL"图标丢失时,JFormattedTextField 不设置值

java - 如何在 JavaFX 桌面应用程序登录后保留用户信息

重定向到 Struts 2 中的默认操作

jsf - 奇怪的 jsf 重定向行为

http - 如何将 Python urllib.request 代码翻译成 Java 代码

java - 无法使用 Selenium 单击 href 链接

java - 仅在 finally block 中关闭 JDBC 连接?

.net - 检测asp.net将用户重定向到登录页面

python - Django select 如何记住选择的值?