java - mvc - Spring SimpleFormController en 3.0
spring mvc vs spring boot (3)
Me doy cuenta de que este controlador ha quedado en desuso en la última primavera y me preguntaba cuál es el controlador alternativo.
En Spring 3.0, sus controladores ya no heredarán de una clase base. La forma estándar es usar controladores anotados .
Los POJO anotados pueden actuar como controladores; ver @Controller
.
En Spring 3.0 debe usar clases simples anotadas por @Controller
. Tal controlador puede manejar más de una solicitud. Cada solicitud se maneja por su propio método. Estos métodos están anotados por @RequestMapping
.
Una cosa que debe reconsiderar es el hecho de que un SimpleFormController
vieja escuela maneja muchas solicitudes diferentes (al menos: una para obtener el formulario y una segunda para enviar el formulario). Tienes que manejar esto ahora a mano. Pero créanme que es más fácil.
Por ejemplo, este Controlador en estilo REST, manejará dos solicitudes:
- / book - POST: para crear un libro
- / book / form - GET: para obtener el formulario para la creación
Código de 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
}
}