发布/重定向/获取Struts 1

时间:2012-08-01 08:38:30

标签: java redirect post get struts

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

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

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

2 个答案:

答案 0 :(得分:2)

当用户按下“返回”按钮时,Post/Redirect/Get pattern不包括强制重定向。它包括在成功发送POST请求后发送重定向。

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

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

答案 1 :(得分:0)

在你的指令标签后面的View(Jsp页面).Top页面上设置这些行。

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

在struts中使用redirect="true"