Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Повторная обработка web-формы (JSP)


Автор: foxygun 28.6.2011, 07:16
Добрый день!

На определнном вэб-сервисе (прим. Интернет-магазин), существует jsp-страница, содержащая форму для добавления товара в БД. После заполнения данной формы, и нажатия кнопки "Добавить", INSERT в БД проходит без проблем. Но есть одна проблема - при Reload/Refresh-e данной страницы с формой, происходит повторная обработка формы, т.е. в БД добавляется еще одна, точно такая-же запись (не считая идентификатор записи). 

По этому поводу было предложено - после добавления в БД, делать редирект на другую страницу. Но это не вариант, необходимо оставаться на этой-же странице, что бы можно было сразу добавить еще что-то.  

Что можно предпринять по данному поводу, какие есть методы и варианты?

Всем спасибо.

Автор: danilych 28.6.2011, 08:45
ваша проблема известна под названием " duplicate form submission", предлагаю использовать  "post/redirect/get design pattern". Суть его состоит в том что нужно перенаправлять пользователя не на jsp, а создать контроллер (я говорю в терминах Spring MVC), который бы перенаправлял бы на исходную jsp. Более подробно можно почитать здесь: Spring Recipes A Problem-Solution Approach. Gary Mak Learn to use the full power of Spring 2.5 through coding recipes! (стр. 358)

Автор: foxygun 6.7.2011, 14:45
Спасибо. Все получилось!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)