View
SpringMVC中的视图时View接口,视图的作用渲染数据,将模型Model中的数据展示给用户。
SpringMVC视图的种类很多,默认有转发视图InternalResourceView和重定向视图
若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf解析器,由此视图解析器解析之后得到的时ThymeleafView
ThymeleafView
当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析,视图名称拼接视图前缀和视图后缀所得到的最终路径,会通过转发的方式实现
配置视图解析器
<!-- 配置Thymeleaf视图解析器 -->
<bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
<property name="order" value="1"/>
<property name="characterEncoding" value="UTF-8"/>
<property name="templateEngine">
<bean class="org.thymeleaf.spring5.SpringTemplateEngine">
<property name="templateResolver">
<bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
<!-- 视图前缀 -->
<property name="prefix" value="/WEB-INF/templates/"/>
<!-- 视图后缀 -->
<property name="suffix" value=".html"/>
<property name="templateMode" value="HTML5"/>
<property name="characterEncoding" value="UTF-8" />
</bean>
</property>
</bean>
</property>
</bean>
转发视图
SpringMVC中默认的转发视图时InternalResourceView
当控制器方法中所设置的视图名称以 “forward:” 为前缀时,创建InternalResourceView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀 “forward” 去掉,剩余部分作为最终路径通过转发的方式实现跳转
重定向视图(RedirectView)
SpringMVC中默认的重定向视图时RedirectView
当控制器方法中所设置的视图名称以 “redirect” 为前缀时,创建RedirectView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀 “redirect” 去掉,剩余部分作为最终路径通过重定向的方式实现跳转