我继承了一个使用Struts 1的Java网站。目前,如果在途中按下brosers返回按钮,他们会得到一个'网页已过期'的错误。Struts 1对浏览器后退按钮不友好:任何解决方案?
从我有限的理解来看,这似乎是Struts设计中的一个缺陷 - 每一页都是一种形式。无论如何要解决这个问题,还是唯一的方法是迁移到不同的MVC框架(struts2,springMVC)?
我继承了一个使用Struts 1的Java网站。目前,如果在途中按下brosers返回按钮,他们会得到一个'网页已过期'的错误。Struts 1对浏览器后退按钮不友好:任何解决方案?
从我有限的理解来看,这似乎是Struts设计中的一个缺陷 - 每一页都是一种形式。无论如何要解决这个问题,还是唯一的方法是迁移到不同的MVC框架(struts2,springMVC)?
我不认为这有什么固有的struts。这听起来像以前的开发人员试图创建某种向导。正确的做法是在会话中将未决结果存储在向导中,并在每次提交表单后进行完全重定向。
这不是一个真正的Struts问题。显然,建立这个的人并不相信Post/Redirect/Get模式,而是直接响应表单提交来提供一个页面。
您可以通过应用redirect="true"
到你的动作向前改变这种行为:
<action ... >
<forward name="success"
contextRelative="true"
path="/moduleB/index.do"
redirect="true"/>
</action>
更多信息,请参见Struts user guide。
是的,它像一个向导,一系列页面1-> 2-> 3-> 4-> 5-> 6 但是页面2依赖于表格1中的数据。 你是什么意思?完成每个表单提交后的重定向'? – Amoeba 2009-06-26 14:53:48