SpringMVC学习 十七 逻辑视图名称

逻辑视图名称

在SpringMVC中,控制器处理完之后,需要返回一个逻辑视图名,交给视图解析器。这个逻辑视图名有两种情况,

一是手动指定,

二是通过请求路径推断。

手动指定视图名

1、返回值为String类型

@RequestMapping("/model")
    public String modelTest(Model model){
        String name =(String) model.getAttribute("name");
        System.out.println(name);
        model.addAttribute("msg","测试");
        return "viewName";
    }

2、返回值是ModelAndView

@RequestMapping("/model3")
    public ModelAndView modelTest3(){
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.setViewName("viewName");
        return modelAndView;
    }

请求路径推断

如果控制器的返回值不是上面的说的Stirng类型或者ModelAndView类型,是无法手动指定视图名称的,会根据这个控制器映射的请求路径进行推断。比如返回值是Model、ModelMap、Map、List、void、pojo等等,都会根据请求路径进行推断视图,请求路径就是作为逻辑视图名称。

上下文路径+前缀+请求路径(资源名称)+后缀

Model

例如:

@RequestMapping("/model4")
    public Model modelTest4(Model model){
       
        return model;
    }

上述控制器推断的逻辑视图名称是"model4"

原文地址:https://www.cnblogs.com/cplinux/p/15456255.html