Перенаправить на ту же страницу поиска после отправки в Spring MVC - PullRequest
2 голосов
/ 11 ноября 2011

У меня есть сценарий, в котором пользователь может искать данные учетной записи, и результаты поиска будут отображаться в табличном формате с разбивкой (1,2 ..).На странице результатов пользователь может перемещаться назад и вперед через нумерацию страниц, может изменить данные учетной записи на любой странице и может подать то же самое.До сих пор все в порядке.Теперь я хочу перенаправить пользователя на ту же страницу поиска () с теми же критериями поиска, на которых он находился до отправки.

Например: : пользователь ищет данные учетной записи для всех лицс именем "abc" и в таблице 26 строк, поэтому система отобразит результат в виде 10 (страница 1) -10 (страница 2) -6 (страница 3).

Теперь пользователь переходит кстраница 2 и изменяет некоторые значения, а затем нажимает кнопку «Отправить» после отправки, пользователь должен перейти на страницу 2 с теми же критериями (имя «abc»).

Пожалуйста, дайте некоторое представление об этом.

Спасибо

1 Ответ

0 голосов
/ 11 ноября 2011

Я решил аналогичный (не тот же) сценарий с перехватчиком MVC.

Для меня проблема в том, что у меня есть формы.Если пользователь вводит что-то в форму, и запрос принимается, то он обычно перенаправляется на соответствующую страницу показа.(Образец ОТДЫХА).Но есть некоторые формы, которые должны вести себя по-разному, если from вызывается из специальной страницы.

Пример. Таким образом, если пользователь переходит на страницу «A», оттуда на страницу «F» сформа, вводит значение и отправляет, затем он получает (после того, как соответствующее действие выполнено на сервере) перенаправлено на страницу «S».Но если пользователь начинает со страницы «B», затем переходит на страницу формы «F», отправляет форму, то его следует перенаправить на «B».

Это работает так: у меня есть специальныйпараметр запроса RETURN_ACTIVATE этот параметр содержит URL.Перехватчик MVC обнаруживает, имеет ли текущий запрос этот параметр.(Для простоты использования перехватчик MVC также проверяет, если RETURN_ACTIVATE выходит, но не заполнен, то он заменяет свое значение на HTTP-реферер).

  • Теперь, если перехватчик MVC обнаруживает, что текущий запрос имеет этот параметр RETURN_ACTIVATE, а ответ веб-контроллера представляет собой перенаправление, он заменяет URL-адрес перенаправления из параметра RETURN_ACTIVATE
  • Но если ответ веб-контроллера является обычным представлением формы, то Interceptor добавляет в модель только значение, также называемое RETURN_ACTIVATE.Его значение равно значению параметра RETURN_ACTIVATE.

В каждую из моих форм я добавляю скрытый параметр с именем RETURN_ACTIVATE, если модель содержит значение RETURN_ACTIVATE (значение скрытого значения).параметр это, конечно, значение из модели).

Таким образом, в конце единственное, что мне нужно сделать, чтобы запустить весь процесс, это добавить параметр без значения в ссылку на странице "B", которую пользователь использует для перехода на страницу "F",<a href="f?RETURN_ACTIVATE">formPage</a> Затем MVC Interceptor добавляет параметр с URL-адресом реферера в модель, потому что Контроллер возвращает представление для формы.JSP добавляет скрытое значение <input type="hidden" name="RETURN_ACTIVATE" value="b"/> к форме.Когда пользователь отправляет форму, а контроллер отвечает перенаправлением на «s», тогда MVC Intercepter меняет «c» на «b».

Так что мое решение немного сложнее, потому что случай использованиясложнее, но я надеюсь, что это даст вам некоторые идеи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...