В Spring 3.0 вы должны использовать простые классы, помеченные @Controller
.Такой контроллер может обрабатывать более одного запроса.Каждый запрос обрабатывается своим собственным методом.Эти методы помечены @RequestMapping
.
. Вам необходимо переосмыслить тот факт, что старая школа SimpleFormController
обрабатывает множество различных запросов (по крайней мере: один для получения формы и второйотправить форму).Вы должны справиться с этим сейчас вручную.Но поверьте мне, это проще.
Например, этот контроллер в стиле REST будет обрабатывать два запроса:
- / book - POST: создать книгу
- / книга / форма - GET: получить форму для создания
Java Code:
@RequestMapping("/book/**")
@Controller
public class BookController {
@RequestMapping(value = "/book", method = RequestMethod.POST)
public String create(
@ModelAttribute("bookCommand") final BookCommand bookCommand) {
Book book = createBookFromBookCommand(bookCommand);
return "redirect:/book/" + book.getId();
}
@RequestMapping(value = "/book/form", method = RequestMethod.GET)
public String createForm(final ModelMap modelMap) {
modelMap.addAttribute("all", "what you need");
return "book/create"; //book/create.jsp
}
}