如何防止GWT应用程序中的DoubleSubmit?

Vid*_*hya 5 gwt double-submit-prevention

澄清双提交的内容:当用户点击两次提交按钮时,服务器将处理两次相同的POST数据.为了避免这种情况(除了在单次提交后禁用按钮),大多数Web框架(如Struts)都提供了令牌机制.我在GWT中寻找相当于此的东西.

Jas*_*all 2

如果您想避免提交两次,可以:

boolean processing = false;
button.addClickHandler(new ClickHandler() {
  @Override
  public void onClick(ClickEvent event) {
    if (!processing) {
      processing = true;
      button.setEnabled(false);
      // makes an RPC call, does something you only want to do once.
      processRequest(new AsyncCallback<String>() {
        @Override
        public void onSuccess(String result) {
          // do stuff
          processing = false;
          button.setEnabled(true);
        });
      });
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

这就是它的要点。