Wicket快速双击提交按钮

时间:2017-09-21 12:00:44

标签: java forms submit wicket

我的Wicket表格有问题。在我的表单中,如果用户在SubmitLink上快速单击两次,则调用两次onSubmit方法,并在那里有一个对象的2个实例。我怎么能阻止这个?我尝试过使用布尔变量

@Override
public void onSubmit(){
  if(!submitted){
    submitted = true;
    dao.save(object);
    setResponsePage(differentPage.class);
  }
}

这种方法对我不起作用。有人可以帮我吗?

2 个答案:

答案 0 :(得分:2)

有一些工作要防止双重提交。

我猜你可能没有添加renderStrategy.So首先在你的应用程序类中添加setRenderStrategy

Direct,IRequestCycleSettings.RenderStrategy.ONE_PASS_RENDER。一切都在一个物理请求中处理。这是有效的,如果您想要进行复杂的群集,这是最好的选择。但是,它并不能保护您免受通常所说的双重提交问题

getRequestCycleSettings().setRenderStrategy(RequestCycleSettings.RenderStrategy.ONE_PASS_RENDER);

可能上述解决方案适用于您的案例。最重要的是

您可以在点击submit时禁用该按钮,也可以使用某些指示符按钮链接。

答案 1 :(得分:0)

我解决了这行代码

customer

vendor

当然