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