我的Wicket表格有问题。在我的表单中,如果用户在SubmitLink上快速单击两次,则调用两次onSubmit方法,并在那里有一个对象的2个实例。我怎么能阻止这个?我尝试过使用布尔变量
@Override
public void onSubmit(){
if(!submitted){
submitted = true;
dao.save(object);
setResponsePage(differentPage.class);
}
}
这种方法对我不起作用。有人可以帮我吗?
答案 0 :(得分:2)
有一些工作要防止双重提交。
我猜你可能没有添加renderStrategy.So首先在你的应用程序类中添加setRenderStrategy
。
Direct,IRequestCycleSettings.RenderStrategy.ONE_PASS_RENDER。一切都在一个物理请求中处理。这是有效的,如果您想要进行复杂的群集,这是最好的选择。但是,它并不能保护您免受通常所说的双重提交问题。
getRequestCycleSettings().setRenderStrategy(RequestCycleSettings.RenderStrategy.ONE_PASS_RENDER);
可能上述解决方案适用于您的案例。最重要的是
您可以在点击submit
时禁用该按钮,也可以使用某些指示符按钮链接。
答案 1 :(得分:0)
我解决了这行代码
customer
和
vendor
当然