как использовать RequestDispatcher для сохранения запрошенного URL-адреса?

У меня есть страница JSP для поиска клиентов. Эта страница вызывает контроллер, который выполняет метод для возврата списка клиентов и переадресации на исходный URL-адрес;

Раньше я пересылал: request.getRequestDispatcher(urlOrigin).forward(request, response);

(примечание 1: для получения полного исходного URL использовался request.getHeader("Referer"))

(примечание 2: существует метод разделения полного URL-адреса источника и получения страницы имени)

С тех пор у меня есть следующий URL-адрес в браузере:

(http://domain/ProjetoT/mvc)

Это адрес моего контроллера

Если я снова найду клиента, это не сработает, потому что URL-адрес контроллера будет распознан как исходный URL-адрес.

Я пытался использовать: response.Sendredirect(urlOrigin);

Но я потерял свой объект, и список клиентов не отобразился.

Кто-нибудь может мне помочь?

Спасибо!


person Felipe Cavalcante Miranda    schedule 30.03.2013    source источник


Ответы (1)


Вместо первоначального доступа к странице JSP непосредственно в браузере вы можете получить к ней доступ через тот же контроллер, который используется для обработки поиска. Для этого вам нужно будет запрограммировать свой контроллер, чтобы определить, находитесь ли вы в режиме начального отображения или в режиме «отправить». Обычно это делается путем проверки наличия параметра, который отправляется при отправке.

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

person David Levesque    schedule 31.03.2013