逻辑视图名称
在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"