Чтобы уточнить, что представляет собой двойной запрос: когда пользователь дважды нажимает кнопку отправки, сервер будет обрабатывать одни и те же данные POST дважды. Чтобы избежать этого (кроме отключения кнопки после одного представления), большинство веб-фреймворков, таких как Struts, обеспечивают механизм маркера. Я ищу эквивалент этого в GWT.Как предотвратить использование DoubleSubmit в приложении GWT?
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. Использование Typeface.js в приложении GWT
- 2. Использование RMI в приложении GWT
- 3. Как предотвратить кеширование страницы HTML в приложении GWT
- 4. Использование виджетов Vaadin в приложении GWT
- 5. Извержение библиотеки Google Maps в приложении GWT
- 6. Ручная авторизация в приложении GWT
- 7. Использование NotificationMole в GWT
- 8. Включая Guava GWT в приложении GWT
- 9. Как предотвратить использование кодов Alt в приложении .NET?
- 10. Как предотвратить GWT от обфускации кода/Где найти компилятор GWT
- 11. Использование сценария d3 в приложении GWT с использованием JSNI
- 12. Использование событий GWT click
- 13. Google Adsense в приложении GWT
- 14. Загрузить файл в приложении gwt
- 15. Повторное использование кода сервера в приложении GWT + phonegap, исключающем RPC
- 16. Как реализовать i18n в приложении GWT?
- 17. Как изменить URL-адрес в приложении GWT?
- 18. Как интегрировать роли Spring в приложении gwt
- 19. Как использовать OAuth в моем приложении GWT?
- 20. как интегрировать шаблон отдыха в приложении GWT
- 21. Использование ScriptInjector в GWT
- 22. Как предотвратить GWT от создания встроенных стилей?
- 23. исключение в приложении GWT RPC
- 24. Кнопки в новом приложении GWT
- 25. Проверка в приложении GWT + GAE
- 26. Использование GWT-полимерных элементов в проекте GWT?
- 27. Как предотвратить CSRF в веб-приложении AEM
- 28. Как предотвратить компрометацию покупки в приложении?
- 29. Как предотвратить отправку почты в моем приложении?
- 30. Как предотвратить запросы OPTIONS в приложении ASP.NET?
Может быть полезно уточнить, что «двойная представить проблему». –
@ Jason Hall глупые пользователи дважды нажимают кнопки и, следовательно, тот же запрос стреляет дважды –