2016-10-28 2 views
0

У меня есть простой вид JSP - home.jsp и простой контроллер для обработки запросов на домашнюю страницу. Интересно, в чем разница между этими методами два регулятора:Разница между именем возвращаемого вида и переадресацией на него

@GetMapping("/") 
public String home() { 
    return "home.jsp"; 
} 

@GetMapping("/") 
public String home() { 
    return "forward:home.jsp"; 
} 

Если добавить атрибуты для запроса в первом или втором примере у меня есть доступ к ним в обоих случаях, так что я думаю, что внутренне Spring делает ту же самую вещь в оба случая. Но есть ли разница, которую я не вижу? Единственный случай, когда я вижу смысл использования forward: это когда мы хотим отправить запрос другому контроллеру.

+0

проверить это http://stackoverflow.com/questions/28697681/spring-mvc-controller-what-is-the-difference-between-return-forward-return – Jobin

+0

Я видел это, и это не отвечает на вопрос. Я спрашиваю об этом конкретном случае, и если первая версия моего метода делает что-то большее, чем второе или наоборот, или они делают то же самое. – swch

ответ

1

Мое чтение документов Spring - это то, что не будет никакой разницы по сравнению с возвратом имени представления JSP напрямую; но что обработка может отличаться, если вы используете другую технологию просмотра.

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-redirecting-forward-prefix

Я сделал быстрый тест, и это делает работу для отправки на другие методы контроллера.

Смежные вопросы