| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > isTokenValid возвращает true для старого запроса |
| Автор: whoever 15.7.2007, 22:36 | ||
| Использую struts-1.3.8. На сайте есть функция добавления записи (добавляется в базу данных). Action, управляющий действиями, наследует DispatchAction, назовем его SomeAction. В нем метод update, который управляет добавлением записей. На странице есть форма с атрибутом action, указывающим на SomeAction, и hidden-поле: <input type="hidden" name="action" value="update"> В struts-config.xml для SomeAction параметр, определяющий вызываемый метод, назван action. При нажатии на submit-кнопку на этой форме пользователь перемещается на страницу добавления записи. На странице добавления записи несколько полей и submit-кнопка. Однако, если не добавлять запись, нажимая submit, а перейти куда-нибудь по ссылке, а затем снова вернуться на страницу добавления записи, то вместо показа формы добавляется запись с параметрами по умолчанию. Для определения того, впервые ли пользователь на странице добавления, или же он уже заполнил форму, используется isTokenValid(HttpServletRequest). Код:
Почему это происходит? |
| Автор: ekr 16.7.2007, 15:07 |
| как я понял проблему, может, имеет смысл маркер синхронизации (токен) в сессии хранить, а не в request? |
| Автор: whoever 16.7.2007, 15:18 |
| saveToken как раз в сессии сохраняет данные о запросе. |
| Автор: ekr 16.7.2007, 15:32 |
| сорри, ступил ( |
| Автор: Nikola661 15.1.2008, 13:03 | ||||
Использую struts 1.2.9 Есть форма на jsp с кнопками submit и cancel. С сабмитом всё понятно, но вот канцел.... Вычитал в мануале, что при нажатии на канцел, в ЭКШЕНЕ действие можно проверить так:
Но isCancelled(request) всегда возвращает false как бы я не нажимал на cancel. Почему не работает? |