Я заметил, что этот контроллер теперь устарел в последней весне и задавался вопросом, что такое альтернативный контроллер?Spring SimpleFormController в 3.0
ответ
В Spring 3.0 вы должны использовать простые классы, аннотированные @Controller
. Такой контроллер может обрабатывать несколько запросов. Каждый запрос обрабатывается по собственному методу. Эти методы аннотируются @RequestMapping
.
Одна вещь, которую нужно переосмыслить, состоит в том, что старая школа SimpleFormController
обрабатывает множество различных запросов (по крайней мере: один для получения формы и второй для отправки формы). Вы должны справиться с этим сейчас вручную. Но поверьте мне, это проще.
Например, этот контроллер в REST стиле, будет обрабатывать два запроса:
- /книга - POST: создать книгу
- /книга/форма - GET: чтобы получить форму для создания
Java код:
@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
}
}
ура. annotaing mapping для меня все новое, поскольку я следовал этой книге, я получил http://www.amazon.co.uk/Spring-Action-Craig-Walls/dp/1933988134/ref=sr_1_1?ie=UTF8&qid=1295447914&sr=8 -1 – jonney
быстрый вопрос. означает ли это, что мне больше не нужно отображать мои контроллеры в bean-компоненты через xml-файлы? – jonney
@jonney: Да, есть новые аннотации: @Controller, @Service, @Repository, а также @Autowire и @Inject. Но вы должны включить что-то, что называется сканирование компонентов в вашем xml. - Взгляните на блог SpringSource (около конца 2009 года) и раздел новых функций ссылки Spring. - Вы также можете задать новый вопрос. – Ralph
Annotated POJOs могут выступать в качестве контроллеров; см. @Controller
.
grr, вы были первыми :-) –
Почему же это проголосовало за полтора года после того, как оно было опубликовано? Были ли другие ответы проголосовали? – duffymo
В Spring 3.0 ваши контроллеры больше не должны наследовать базовый класс. Стандартный способ - использовать annotated controllers.
- 1. Spring MVC SimpleFormController
- 2. Различные виды с SimpleFormController Spring
- 3. Spring SimpleFormController onSubmit параметры запроса
- 4. Как добавить ошибку в Spring MVC simpleformcontroller?
- 5. Помощь SimpleFormController
- 6. Spring SimpleFormController, отображающий ошибку msg на formView
- 7. От Spring 2.5 MVC до Spring 3.0 MVC
- 8. Spring SimpleFormController - в том числе форма поиска в успешном представлении
- 9. Использование SimpleFormController
- 10. Как проверить аргументы запроса в SimpleFormController - Spring MVC
- 11. Весной, simpleformcontroller с нормальными значениями?
- 12. Передача объекта команды из SimpleFormController в контроллер
- 13. Spring - mvc (SimpleFormController) с вставкой базы данных спящего режима
- 14. Сохранение параметров запроса на Spring SimpleFormController с валидатором
- 15. Как использовать SimpleFormController с Validator с Spring 3?
- 16. thymeleaf и spring 3.0
- 17. Spring MVC 3.0 кэширования
- 18. Jersey w/Spring 3.0?
- 19. Spring 3.0 MultipartFile upload
- 20. Spring Security 3.0
- 21. Аннотации и SimpleFormController
- 22. По умолчанию formView для SimpleFormController?
- 23. Spring MVC 3.0 Проблема
- 24. Spring/Spring Security 3.0.x поток выполнения
- 25. Spring Security 3.0 функциональность Spring Security 2.0.2
- 26. Spring и Spring MVC 3.0 AJAX Интеграция
- 27. Spring Security 3.0 с jdbc
- 28. Grails 3.0 и Spring Security
- 29. spring 3.0 force singleton bean
- 30. Spring MVC 3.0 + jsp footer
Имейте в виду, что Wile устаревшие вещи по-прежнему работает в Spring 3, пружинные ребята MUC h более агрессивны при удалении устаревших API, чем люди JavaSE, то есть они фактически удалят их. – skaffman
Yup 'SimpleFormController' больше не поддерживается (используется с' 4.0.4.RELEASE'). –