Странное поведение редиректа весной MVC - PullRequest
0 голосов
/ 26 августа 2018

Я создал страницу индекса входа в систему и создал контроллер с методом ModelAndView для сопоставления с другим jsp.Я пытаюсь сопоставить другой jsp в контроллере, если учетные данные входа в систему совпадают, и если учетные данные не совпадают, то я перенаправляю на страницу индекса с сообщением, т.е. Извините, ошибка имени пользователя или пароля.Вот код:

return new ModelAndView("Redirect:/index.jsp","mess","Sorry, username or password error.");

Этот код успешно перенаправляет на страницу индекса, но сообщение добавляется к URL-адресу следующим образом:

Localhost:8080/Project/index.jsp?"mess"+"="+"Sorry" 

Вот так.

У меня вопрос, что является причиной этой проблемы.Почему сообщение добавляется в URL?Любое предложение или мнение приветствуется.Заранее спасибо.

1 Ответ

0 голосов
/ 26 августа 2018

Используйте RedirectView (вместо ModelAndView) и установите значение ExExposeModelAttributes в false, если вы не хотите добавлять к URL-адресу.

public class RedirectView extends AbstractUrlBasedView implements SmartView

from spring documentation: View that redirects to an absolute, context relative, or current request relative URL. The URL may be a URI template in which case the URI template variables will be replaced with values available in the model. By default all primitive model attributes (or collections thereof) are exposed as HTTP query parameters (assuming they've not been used as URI template variables), but this behavior can be changed by overriding the isEligibleProperty(String, Object) method.

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