SpringMVC视图解析器和视图控制器

视图解析器

视图解析器(ViewResolver)是 Spring MVC 的重要组成部分,它提供了逻辑视图名称与实际视图之间的映射,负责将逻辑视图名解析为一个具体的视图对象。

SpringMVC 提供了一个视图解析器的接口 ViewResolver,所有具体的视图解析器必须实现该接口。

 
  1. public interface ViewResolver {
  2. @Nullable
  3. View resolveViewName(String viewName, Locale locale) throws Exception;
  4. }


Spring MVC 提供了很多 ViewResolver 接口的实现类,它们中的每一个都对应 Java Web 应用中某些特定视图技术。如果我们在使用某个特定的视图解析器,就需要将它以 Bean 组件的形式注入到 Spring MVC 的容器中,否则 Spring MVC 会使用默认的 InternalResourceViewResolver 进行解析。
 

视图解析器 说明
BeanNameViewResolver 将视图解析后,映射成一个 Bean,视图的名称就是 Bean 的 id。
InternalResourceViewResolver 将视图解析后,映射成一个资源文件。例如将一个视图名为字符串“success.jsp”的视图解析后,映射成一个名为 success 的 JSP 文件。
FreeMarkerViewResolver 将视图解析后,映射成一个 FreeMarker 模板文件。
ThymeleafViewResolver 将视图解析后,映射成一个 Thymeleaf 模板文件。


我们知道,非逻辑视图是不需要视图解析器进行解析的,例如 MappingJackson2JsonView ,它的含义是将当前的数据模型转换为 JSON,并不需要对视图逻辑名称进行转换。但对于逻辑视图而言,将逻辑视图名转换为视图却是一个不可缺少的过程。

以 ThymeleafView 为例,它就是一个十分典型的逻辑视图,想要使用 Thymeleaf 进行前端页面开发,通常都需要在 Spring MVC 的配置文件中配置一个 Thymeleaf 视图解析器,示例配置如下。

 
  1. <!-- 配置 Thymeleaf 视图解析器 -->
  2. <bean id="viewResolver"
  3. clas
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值