【问题标题】:In Spring Boot RequestMapping methods, what do "value=" and "return new ModelAndView" do?在 Spring Boot RequestMapping 方法中,“value=”和“return new ModelAndView”是做什么的?
【发布时间】:2019-07-17 18:24:27
【问题描述】:

在下面的代码中,

snapshot of @RequestMapping method

`// Get addLocation.jsp.
@RequestMapping(value="/add-location", method=RequestMethod.GET)
public ModelAndView addLocationJSP() {
    System.out.println("Location: LocationController.addLocationJSP()");
    return new ModelAndView("addLocation", "location", new Location());
}

// Submit addLocation.jsp form.
@RequestMapping(value="/submit-location", method=RequestMethod.POST)
public ModelAndView submitLocation(@ModelAttribute("location") Location location) {
    System.out.println("Location: LocationController.submitLocation()");
    locationService.saveLocation(location);
    return new ModelAndView("confirmSubmit");
}`

value=""@ModelAttribute()return new ModelAndView() 到底是做什么的?

value="add-location"的作用与@ModelAndView("addLocation")的第一个参数有何不同?

【问题讨论】:

    标签: java spring rest spring-boot request-mapping


    【解决方案1】:
    • @RequestMapping 注释用于将 URI 映射到控制器中的方法。这个标签你需要的参数是“value”,它代表你要与方法映射的URI,和method,它代表请求的HTTP类型。当你想映射一个 GET 请求时,你可以省略参数,因为它是默认方法(所以,在你的第一个方法中你应该写:@RequestMapping("/add-location"))。当浏览您的 Web 应用程序的用户到达 /add-location URI 时,将执行 addLocationJSP 方法。
    • @ModelAttribute 注释是将方法参数或方法返回值绑定到命名模型属性的注释,该属性暴露给 Web 视图。换句话说,您应该有一个 JSP 页面,其中包含一个带有 POST 方法的表单,用于填充 Location 对象。借助 ModelAttribute,您可以在视图和控制器之间绑定对象,在 Location 对象中设置表单输入收集的值。
    • @ModelAndView中需要方法执行后要显示的视图名称;相反,在 value 参数中,您需要要拦截的 URI。

    我觉得你需要学习一些basic example(你可以找到很多其他的教程,我只链接了一个man most)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 2021-10-14
      • 2018-12-13
      • 2018-05-17
      • 2021-09-26
      相关资源
      最近更新 更多