gpt4 book ai didi

java - Spring SimpleFormController - 浏览器后退按钮不起作用

转载 作者:行者123 更新时间:2023-12-01 14:52:16 25 4
gpt4 key购买 nike

从 SimpleFormController 扩展的 Controller Http 方法 - Post

提交表单并按浏览器后退按钮后,出现页面已过期,我已重新加载重新提交表单的页面。

但是,我需要当用户单击浏览器后退按钮时,他不会显示页面过期页面,而是将用户重定向到表单页面。

我目前想到了两种方法:

从 POST 更改为在 Controller 中获取并使用以下内容:

@Override
protected boolean isFormSubmission(HttpServletRequest request) {
return true;
}

第二种方法是在 Controller 的构造函数中定义缓存时间:

public VehicleDescController()
{
setCacheSeconds(1);
}

该应用程序确实很旧,并且使用基于 XML 的 spring 配置。我对 Spring MVC 也比较陌生。

请帮我找出正确的方法。谢谢。

最佳答案

我通常喜欢在完成后将 Post 方法重定向到 Get 方法。您保留 Post 方法,但始终重定向到 Get 方法以显示结果页面。对于用户来说,这似乎是正常的获取操作,并且您不会遇到后退浏览器问题。

如果 Get 方法需要一些数据(例如:记录 ID),则 Post 可以将该数据存储在用户 session 中,并且 Get 方法可以在用户 session 中查找该值。这是一种将数据从 Post 方法“传递”到 Get 方法的简单方法,并且如果用户点击后退按钮再次返回页面,它会将这些数据保留在用户 session 中。

关于java - Spring SimpleFormController - 浏览器后退按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14715474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com