Struts 1使用浏览器后退按钮不是用户友好的:任何解决方案?

时间:2009-06-26 14:14:30

标签: java struts

我继承了一个使用Struts 1的Java网站。目前,如果在旅途中途按下了“brosers back”按钮,则会出现“网页已过期”错误。

从我有限的理解,这似乎是Struts设计中的一个缺陷 - 每个页面都是一个表单。是否有解决问题的方法,或者唯一的方法是迁移到不同的MVC框架(struts2,springMVC)?

2 个答案:

答案 0 :(得分:8)

这确实不是Struts问题。显然,构建它的人不相信Post/Redirect/Get模式,而是直接提交页面以响应表单提交。

您可以通过将redirect="true"应用于您的操作转发来更改此行为:

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

有关详细信息,请参阅Struts user guide

答案 1 :(得分:1)

我认为struts中没有固有的东西可以做到这一点。这听起来像以前的开发人员试图创建某种向导。正确的方法是在会话中将待处理结果存储在向导中,并在每次提交表单后进行完全重定向。