从SimpleFormController扩展的控制器 Http方法 - 发布
提交表单后我按下浏览器后退按钮,页面显示已过期,我重新加载了重新提交表单的页面。
但是,我需要当用户点击浏览器后退按钮时,他没有显示页面过期页面,而是用户重定向到表单页面。
我目前想到两个方法:
从POST更改为获取&在控制器中使用以下内容:
@Override
protected boolean isFormSubmission(HttpServletRequest request) {
return true;
}
第二种方法是在控制器的构造函数中定义缓存时间:
public VehicleDescController()
{
setCacheSeconds(1);
}
该应用程序非常陈旧,并使用基于XML的弹簧配置。 我对Spring MVC也比较陌生。
请帮我弄清楚正确的方法。感谢。
答案 0 :(得分:1)
我通常希望在完成后将Post方法重定向添加到Get方法。保持Post方法,但始终重定向到Get方法以显示结果页面。这看起来像是对用户的正常获取操作,您将不会遇到后端浏览器问题。
如果Get方法需要一些数据(例如:记录ID),那么Post可以将该数据存储在用户会话中,并且Get方法可以在用户会话中查找该值。这是一种将数据从Post方法“传递”到Get方法的简单方法,如果他们按下后退按钮再次返回页面,它会将数据保留在用户会话中。