Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Spring MVC controller. Что возвращать - forward,re


Автор: argamidon 21.2.2015, 16:23
Непонимаю что использовать и когда. Есть две страницы - intro.jsp(1) и booksList.jsp(2). Для каждой страницы создано по одному классу-контроллеру.

На первой странице есть кнопка, открывающая вторую странцу:
Код

<form method="GET" action="/request-list">
        <input type="submit"/>
</form>

первый вопрос: не уверен насчёт правильности этой кнопки - она вроде работает OK, но я как сделать правильно, чтобы при открытии не было вопросительного знака на конце URL.

второе: Когда происходит нажатие на кнопку(кнопка на первой странице), срабатывает метод с аннотацией (контроллер для первой страницы)
Код
 @RequestMapping(value = "request-list")

А вот класс контроллер который отвечает за действия со второй страницей
Код

@RequestMapping(value = "/books")
@Controller
public class BooksListController {

    /**
     * запрос на страницу-список
     */
    @RequestMapping
    public String booksList() {
        return "jsp/books/booksList";
    }

}


А что возвращать этим методом? То есть как мне делать переход из первой на вторую страницу? Как писать:
  • return "redirect:/books"; вернул  http://localhost:8080/books?
  • return "jsp/books/booksList"; вернул http://localhost:8080/request-list?
  • return "forward:/books"; вернул http://localhost:8080/request-list?
Вроде бы результат одинаков(страница 2 открывается), ну кроме URL в браузере - они разные. Для каких случаев что использовать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)