我对票务表格有疑问。在我的表单中,如果用户在SubmitLink上快速单击两次,则onSubmit方法将调用两次,并且其中有2个对象实例。我该如何预防?我尝试使用布尔变量
@Override
public void onSubmit(){
if(!submitted){
submitted = true;
dao.save(object);
setResponsePage(differentPage.class);
}
}
这种方法对我不起作用。谁能帮我吗?
最佳答案
有一些工作可以防止重复提交。
我猜您可能未添加renderStrategy.So首先在您的应用程序类中添加setRenderStrategy
。
直接,IRequestCycleSettings.RenderStrategy.ONE_PASS_RENDER。一切都在一个物理请求中处理。这是有效的,如果要进行复杂的群集,这是最佳选择。但是,它不能使您免受所谓的“双重提交”问题的困扰。
getRequestCycleSettings().setRenderStrategy(RequestCycleSettings.RenderStrategy.ONE_PASS_RENDER);
上述解决方案可能适用于您的情况。最重要的是
您可以单击
submit
禁用按钮,也可以使用一些indicatorButton链接。