Spring SimpleFormController 3.0

jon*_*ney 23 java spring spring-mvc

我注意到这个控制器现在已经在最近的春天被弃用了,并且想知道替代控制器是什么?

Ral*_*lph 28

在Spring 3.0中,您应该使用注释的简单类@Controller.这种控制器可以处理多个请求.每个请求都由自己的方法处理.这些方法由注释@RequestMapping.

你需要重新思考的一件事是,一所旧学校SimpleFormController处理了许多不同的要求(至少:一个获得表格,第二个提交表格).你现在必须手工处理这个问题.但相信我这更容易.

例如,REST风格的Controller将处理两个请求:

  • / book - POST:创建一本书
  • / book/form - 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
    }
}
Run Code Online (Sandbox Code Playgroud)


duf*_*ymo 6

带注释的POJO可以充当控制器; 看@Controller.