Spring MVC - отображение URL в браузере и поддержка кодировки - PullRequest
1 голос
/ 21 марта 2012

Это может быть очевидным вопросом. Но пока не могу понять.

В моем приложении Spring я делаю GET-запрос на следующий URL

http://www.example.com/firstpage

Этот запрос отправляется на фронт-контроллер, где у меня есть отображение запроса, как показано ниже:

@RequestMapping(value = "/firstpage")
public String handlerMethod(HttpServletRequest request, HttpSession session)
        throws CustomException {
        ...
        return "secondpage";
}

Эта «вторая страница» соответствует secondpage.jsp, и ее содержимое отображается правильно. Но проблема в том, что URL браузера по-прежнему отображает

http://www.example.com/firstpage

Почему это происходит? Любые предложения о том, как изменить URL браузера? Также есть ли у Spring поддержка по умолчанию для кодирования URL?

1 Ответ

3 голосов
/ 21 марта 2012

Одной из прелестей Spring MVC является то, что представление полностью отделено от контроллера.Таким образом, ваш контроллер сопоставляется с URL-путем "/ firstpage" и в ответ может отображать любое представление.Это может быть JSP, JSON, PDF, любой тип представления.Ваша конфигурация распознавателя представлений определяет, какое представление используется.

В вашем случае вы возвращаете "secondpage", которая просто сообщает Spring, чтобы искать представление с именем secondpage, в соответствии с конфигурацией преобразователя представлений, которая, вероятно, выглядит в WEB-INF для secondpage.jsp или что-то в этом роде.Это все еще просто вид.

Если вы хотите, чтобы он делал что-то еще, вы можете вернуть «redirect: secondpage», который скажет браузеру фактически перенаправить на «/ secondpage», который, я думаю, изменит URLв адресной строке, но он также захочет перейти к контроллеру, сопоставленному с "/ secondpage", или будет нуждаться в представлении, сопоставленном без контроллера.

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