springmvc Model和ModelAndView的区别

Model只是用来传输数据的,并不会进行业务的寻址。所以返回要写地址

ModelAndView却是可以进行业务寻址的,就是设置对应的要请求的静态文件,这里的静态文件指的是类似jsp的文件,具体的文件。

两者还有一个最大的区别,那就是Model是每一次请求都必须会带着的,但是ModelAndView是需要我们自己去新建的

注意:如果在控制层上的方法声明了注解@ResponseBody ,则会直接将返回值输出到页面.如果需要频繁地用到@ResponseBody 注解,那么可以采用@RestController 组合注解代 替@Controller 和@ResponseBody 

参考https://blog.csdn.net/ITBigGod/article/details/79685610

 

@RequestMapping("/index")
public String index(@RequestParam(value = "menuId", required = false) Long menuId, Model model, SysMenuPojo sysMenuPojo) {
    if(null != menuId) {
        sysMenuPojo = sysMenuService.findById(menuId);
    }
    model.addAttribute("sysMenuPojo",sysMenuPojo);
    return "sysMenu/index";

}


@RequestMapping("/index")
public ModelAndView index(@RequestParam(value = "menuId", required = false) Long menuId, Model model, SysMenuPojo sysMenuPojo) {
    if(null != menuId) {
        sysMenuPojo = sysMenuService.findById(menuId);
    }
    ModelAndView m=new ModelAndView();
    m.addObject("sysMenuPojo",sysMenuPojo);
    m.setViewName("index");
    m.addObject("sysMenuPojo",sysMenuPojo);
    return m;

你可能感兴趣的:(#,spring-boot,spring)