项目进入尾声,昨天测试系统添加用户的时候,由于业务比较复杂,添加一个用户所要处理的时间比较长,我就连续单击了好几下保存按钮,没想到数据库里面出现了三条一样的数据,而这是不允许的。
刚开始想到可能是事务的问题,就查找了spring事务处理的东西,但是事务处理已经用上了,后来才知道事务是处理同一时间发生的事情,于是就用了如下解决方法:
使用ExtJs的loadMask
var mk = new Ext.LoadMask(document.body,{
msg: '正在处理中,请稍候!',
removeMask: true //完成后移除
});
注意:
document.body 要mask的页面元素 //代码执行时必须存在
mk.show(); //显示
mk.hide(); //关闭
另外:又想了不是ext的解决方案:
1、session原本无值,逻辑处理完之后再赋值
本文介绍了在复杂的业务场景下,如何避免用户重复点击导致的数据重复提交问题。通过使用ExtJs的loadMask组件来阻止用户的多次点击操作,并提出了另一种不依赖特定框架的解决方案。
1503

被折叠的 条评论
为什么被折叠?



