方法重复提交问题

这个方法执行只增加15天日期的操作但是有时会出现增加1个月半个月的操作,请问波总这是框架的bug吗?找了很久不知道出现在哪问题。还是什么问题求解~3KJ732TDB2_UA{48XPXIBE.png5{2(R81K[J(2SPR_T`9RDCA.png

评论区

JFinal

2017-06-12 13:22

这个问题与 jfinal 唯一有关联的地方在下面这行代码:
Db.update(....)

而这行代码 jfinal 仅仅是转头扔给 JDBC 执行了而已,所以不可能是 jfinal 的 bug。很可能是由于 rtime 这个变量生成有问题,也可能是 updateRtime() 这个 action 被调用过多次

rtime 这个字段如果是 datetime 类型,建议直接注入 java.util.Date 类型的对象,不要注入 String 对象,使用 joda time 这样的第三方工具很方便生成相对于当前日期的时间对象

如果界面是一个按钮来触发调用 updateRtime(0 这个 action,那么连续快速点击这个按钮很可能会调用多次,防止这种情况的发生,你可以拿到本页面“发送”按钮相关的 js 代码来用一用

JFinal

2017-06-12 13:23

在本页面的“发送”按钮,你快速点击多次,只会是第一次提交有效

cccc123

2017-06-12 13:35

@JFinal 类似 发送 按钮js 代码是weixin_guide 这个项目里面有把

JFinal

2017-06-12 13:37

@cccc123 本页面的发送按钮,还不够明确??

cccc123

2017-06-12 14:05

@JFinal window.location.href这个操作会提交多次但是我换成了这个parent.location.href也是会多加日期有哪个跳转只是直接提交一次的吗这种跳转吗

EATI001

2017-06-18 08:41

@JFinal @cccc123 用js控制有个问题,大家都知道前端js是可以伪造的,如果被动了手脚也又可以重复提交,还是建议在后台代码上做控制或框架整个也行,框架没有的,自己整个。

热门反馈

扫码入社