二重送信が何であるかを明確にするために、ユーザーが送信ボタンを2回クリックすると、サーバーは同じPOSTデータを2回処理します。これを避けるために(単一のサブミット後にボタンを無効にすることは別として)、StrutsのようなほとんどのWebフレームワークはトークンメカニズムを提供します。私はGWTでこれと同等のものを探しています。GWTアプリケーションでDoubleSubmitを防止する方法は?
5
A
答えて
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);
});
});
}
}
});
それの要点です。
+0
button = event.getSource()をonClick()メソッドに追加すると思います。 – DwB
+0
私は 'button'をクラスの最終メンバにすることを考えていましたが、それもうまくいくはずです。 –
0
これはあなたのために参考になっだろう -
final Button btn = new Button("Open");
btn.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
btn.setEnabled(false);
openMethod(name, new AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
btn.setEnabled(true);
}
public void onSuccess(Void result) {
MessageBox.alert(info, "Opened Window", null);
btn.setEnabled(true);
window.hide();
}
});
}
});
関連する問題
- 1. Xamarin FormsアプリケーションでTelerikの広告を防止する方法は?
- 2. アプリケーションの再開時にonCreateを防止する方法は?
- 3. AEM WebアプリケーションでCSRFを防止する方法
- 4. ノーリターンアサインエラーを防止する方法は?
- 5. DelphiでProcessMessagesを防止する方法
- 6. Asp.NETでXSSを防止する方法
- 7. webpackでロギングを防止する方法
- 8. JavaScriptでイベントチェインを防止する方法
- 9. pygameアプリケーションが応答を停止するのを防ぐ方法
- 10. インストール後のWPFアプリケーションの起動を防止する方法
- 11. Spring 3.2.8アプリケーションでcsrfを防止する
- 12. フォーム送信を防止する方法
- 13. Wixブートストラップロールバックを防止する方法
- 14. ノーマルシャトルダブルクリックイベントを防止する方法
- 15. XXE攻撃を防止する方法
- 16. アプリケーションのアンインストールを自動的に防止する方法はありますか?
- 17. gwtアプリケーションをストレステストする方法
- 18. Amazon Fire TV HTML5 Webアプリケーションのデフォルトのバック動作を防止する方法は?
- 19. basic-authでサーブレットのTomcatでセッションを防止する方法は?
- 20. Windows UWPアプリケーションライフサイクル:JS/HTML/CSSアプリケーションでのリロードを防止する方法
- 21. SQLインジェクションの防止方法
- 22. ソフトキーボードカバーの防止方法
- 23. asp.net C#Webページボタンでリフレッシュを防止する方法は?
- 24. カスタムアクティビティデザイナで自動サイズ変更を防止する方法は?
- 25. Facebookでのダブル投稿を防止する方法は?
- 26. iPhoneでWi-Fiタイムアウトを検出/防止する方法は?
- 27. ブートストラップモーダルでマルチトリガを防止する方法は?
- 28. Safariで承認ヘッダーを防止/上書きする方法は?
- 29. jQueryでフォーム提出を防止する方法は?
- 30. SimpleMDEのマークダウンエディタでヘッダーのレンダリングを防止する方法は?
される「二重の問題を提出し、」何を明確に役立つかもしれません。 –
@ Jason Hall愚かなユーザーがボタンをダブルクリックして同じリクエストを2回発しました –