表单 – 在Spring中提交重复表单[已关闭]

前端之家收集整理的这篇文章主要介绍了表单 – 在Spring中提交重复表单[已关闭]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Spring中避免重复表单提交的最佳方法是什么?这个框架是否提供了处理这个问题的特殊功能(例如Struts中的 Synchronizer Token)?

解决方法

有不同的方法来避免双重提交,可以组合起来:

>点击后使用JavaScript禁用该按钮几ms。这样可以避免不耐烦的用户在按钮上多次点击多次提交。
>提交后发送重定向,这被称为Post-Redirect-Get (PRG) pattern.这样可以避免用户在结果页面上按F5导致多次提交,忽略浏览器警告数据将重新发送,或者通过浏览器返回/转发来回浏览按钮,忽略同样的警告。
>在请求页面生成唯一的令牌,并将其放在窗体的会话范围和隐藏字段中。在处理过程中,检查令牌是否存在,然后立即将其从会话中删除并继续处理。如果令牌不在那里,则进行块处理。这将避免上述种类的问题。

在Spring中,您可以使用RedirectView作为PRG模式的实现(如第2点所述)。另外两点需要自己实现。

猜你在找的HTML相关文章