因为网络原因或者程序原因造成表单提交慢,用户多次提交的问题解决方法:
1、页面上加限制,当用户点击按钮时,清除onclick事件,直到页面返回信息后再把事件加上去
我原来使用的是这个方法,但是没有起到作用,还得需要后台来做限制。
2、后台思路步骤: 只有service实现中才会提交事物,如果用户重复提交,需要做到让事物进行回滚就行了。
在Controller中我新增和修改页面全部是弹窗页面。
a、在初始化页面时使用UUID生成一个页面标示放到页面上作为一个隐藏域存放
b、把这个页面标示同时存放进session中。
c、 表单提交tokenId和session中的相比较,如果session中存在就表示没有重复提交,这时候清空session。
如果不存在就表示重复提交?抛出一个异常让事物回滚。
需要把判断的语句放在业务逻辑(service实现类)最后进行。
粘贴部分代码:
Controller控制器中增加:
页面增加:
service中增加判断