【SpringMVC】SpringMVC的视图

SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户。
若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置Thymeleaf的视图解析器,由此视图解析器解析之后所得到的ThymeleafView。
在这里插入图片描述

一、ThymeleafView

视图名称没有任何前缀

  @RequestMapping("/test/view/thyeleaf")
    public String testView() {
        return "hello";
    }

查看源码,返回视图类型为
在这里插入图片描述

二、转发视图

当控制器方法中所设置的视图名称以"forward:"为前缀时,创建InternalResourceView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"forward:"去掉,剩余部分作为最终路径通过转发的方式实现跳转。

 @RequestMapping("/test/view/forward")
    public String testView2() {
        return "forward:/hello";
    }

返回视图类型如下所示:
在这里插入图片描述一般不用,因为还需要配置新的视图解析器。

三、重定向视图

当控制器方法中所设置的视图名称以"redirect:"为前缀时,创建RedirectView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"redirect:"去掉,剩余部分作为最终路径通过重定向的方式实现跳转。

@RequestMapping("/testRedirect")
public String testRedirect(){
return "redirect:/testHello";
}

在这里插入图片描述重定向之后,又会利用的ThymeleafViewResolver。

那种视图根据返回的视图名称决定。

在这里插入图片描述
视图控制器view-controller

<mvc:annotation-driven/>
<!--
        视图控制器:为当前的请求直接设置视图名称实现页面跳转
        若设置视图控制器,则只有视图控制器所设置的请求会被处理,其他的请求将全部404
        此时必须在配置一个标签:<mvc:annotation-driven />
     -->
<mvc:view-controller path="/" view-name="hello"/>

版权声明:本文为Javaer000原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。