1.视图解析器 会 根据 把控制器返回的逻辑视图名 确定 渲染模型的视图文件的物理位置。

Spring MVC的一个重要特性:将控制器中处理请求的逻辑 和 视图中渲染实现 解耦。 控制器方法和视图实现 只会在模型内容上保持一致,这是两者最大的关联。

2.Spring提供了13个视图解析器,能够将逻辑视图名 转换为 物理实现。其中 每一项都对应Java Web应用中特定的某种视图技术。

视图解析器InternalResourceViewResolver 一般会用来解析JSP视图。JSP曾经是,而且现在依然还是Java领域占主导地位的视图技术

3.配置解析JSP的视图解析器

    Spring MVC中 InternalResourceViewResolver是最简单和最常用的视图解析器 能将视图名映射为JSP文件

JavaConfig中配置如下 参考 搭建Spring MVC Web项目----JavaConfig

如下配置  home 解析为“/WEB-INF/views/home.jsp”

books/detail 解析为“/WEB-INF/views/books/detail.jsp”

@Bean
public ViewResolver viewResolver() { // 配置 试图解析器InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();viewResolver.setPrefix("WEB-INF/views");viewResolver.setSuffix(".jsp");viewResolver.setExposeContextBeansAsAttributes(true);return viewResolver;
}

XML配置 参考 搭建 Spring MVC WEB项目----XML配置

     <!-- 视图解析器 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"></property><property name="suffix" value=".jsp"></property></bean>

4.标签库

     参考 SpringMvc对JSP的支持---支持JSTL标签库

5.Spring对JSP标签库的支持--解析JSTL视图 

    参考SpringMvc对JSP的支持---支持JSTL标签库

6.Spring对JSP标签库的支持--Spring的JSP标签库

    参考 SpringMVC对JSP的支持---Spring的JSP标签库---Spring通用标签库

7.Thymeleaf 视图

以上讲的是在Spring 中集成JPS视图 有时候项目中需要使用Thymeleaf视图。为了在Spring 中使用Thymeleaf,需要配置三个 启用Thymeleaf与Spring集成的 bean。这样 应用程序就可以将响应中的模板渲染到Spring MVC控制器所处理的请求中。Java配置如下:

ThymeleafViewResolver是Spring MVC中viewResolver的一个实现类。像其他(JSP)视图解析器一样,接收一个逻辑视图名并将其解析为Thymeleaf模板视图,它解析成的视图是一个Thymeleaf模板。SpringTemplateEngine会在Spring中启用Thymeleaf引擎,用来解析模板,并基于这些模板渲染结果。TemplateResovler 加载Thymeleaf模板 ,与JSP的InternalResourceViewResolver类似,它也是通过prefix和suffix来定位Thymeleaf引擎 最终定位和查找模板。

这还有个问题 TemplateResolver 没找到是哪个jar包里的

import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.ViewResolver;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.spring5.SpringTemplateEngine;
import org.thymeleaf.spring5.view.ThymeleafViewResolver;
import org.thymeleaf.templateresolver.ITemplateResolver;
import org.thymeleaf.templateresolver.ServletContextTemplateResolver;// Thymeleaf 视图解析器@Beanpublic ViewResolver viewResolver(SpringTemplateEngine templateEngine) {ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();viewResolver.setTemplateEngine(templateEngine);return viewResolver;}// 模板引擎@Beanpublic TemplateEngine templateEngine(TemplateResolver templateResolver) {SpringTemplateEngine templateEngine = new SpringTemplateEngine();templateEngine.setTemplateResolver(templateResolver);return templateEngine;}// 模板解析器@Beanpublic TemplateResolver templateResolver() {TemplateResolver templateResolver = new ServletContextTemplateResolver(null);templateResolver.setPrefix("WEB-INF/templates/");templateResolver.setSuffix(".html");//要解析的模板会渲染成HTML 5输出templateResolver.setTemplateModel("HTML5"); return templateResolver;}

SpringMVC 视图解析器相关推荐

  1. SpringMVC视图解析器

    SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器.当我们对SpringMVC控制的资源发起 ...

  2. SpringMVC视图解析器(转)

    前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视图解析器.当我们对SpringMVC控制的资源发起请求时,这些请求都会被Sprin ...

  3. jsp springmvc 视图解析器_Springmvc中多视图解析器解析问题

    最近被问到过几次关于springmvc多视图解析器解析的问题:总结一下. 1.问题: 假设我有两个jsp: WEB-INF/html/a.jsp WEB-INF/report/b.jsp 且我配置了视 ...

  4. jsp springmvc 视图解析器_SpringMVC学习笔记

    Springmvc springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合. springmvc是一个基于mvc的web框架. 基本概念和执行过程 ...

  5. springmvc视图解析器_SpringMVC视图及REST风格

    什么是视图解析器? springMVC用于处理视图最重要的两个接口是ViewResolver和View. ViewResolver的主要作用是把一个逻辑上的视图名称解析成一个真的的视图,而Spring ...

  6. jsp springmvc 视图解析器_Java面试题整理——SpringMVC

    SpringMVC 1.什么是SpringMVC Spring MVC是一个MVC的开源框架,Spring MVC = Struts2+spring,Spring MVC就相当于是Struts2加上S ...

  7. jsp springmvc 视图解析器_springMVC配置jsp/html视图解析器

    1.maven项目引入freemark相关jar包 freemaker是以个模板引擎,可以根据提供的数据和创建好的模板,去自动的创建html静态页面.所以在返回html视图时可以用这个引擎结合数据生成 ...

  8. SpringMVC 视图解析器及拦截器

    视图解析器 跳转方式(设置返回值字符串内容) ①默认请求转发 forward:资源路径,forward可省略 ②重定向 redirect:资源路径 自定义视图解析器 SpringMVC会提供默认的视图 ...

  9. jsp springmvc 视图解析器_SpringMVC工作原理

    SpringMVC的工作原理图: SpringMVC流程 1. 用户发送请求至前端控制器DispatcherServlet. 2. DispatcherServlet收到请求调用HandlerMapp ...

  10. springMvc视图解析器作用

    我们在配置springMVC时通常会配置如下代码段: <!-- 视图解析器 -->     <bean class="org.springframework.web.ser ...

最新文章

  1. linux安装ActiveMQ
  2. javascript密码强度验证!
  3. 高斯-赛德尔迭代法简介
  4. java final
  5. javascript调用在有母版的页面中注意的几点记录
  6. git:config命令
  7. Mingw下g++编译执行顺序错误
  8. 【Java】利用for循环打印心型
  9. HTML 5 中的新元素
  10. 调用feign接口时,如何往header中添加参数
  11. 实现一个shared_ptr
  12. java父类和mysql主表关系_Java工程师考试题 | 学步园
  13. 笔记本电脑摄像头频闪问题,打开摄像头出现错误代码0xA00F4244(0xC00D36D5)的问题解决方法
  14. 毕业设计之 ---- 基于深度学习图像识别的垃圾分类系统
  15. Python制作安卓游戏外挂
  16. 以下代码可以屏蔽掉alt+f4
  17. Linux下如何创建和取消软连接
  18. git push到远程仓库时出现unable to access 'https://github.com/**': The requested URL returned error: 403
  19. Compose Multiplatform结合MVI模式--初步尝试
  20. Microbiome综述:脊椎动物的皮肤微生物

热门文章

  1. HIT计算机系统CSAPP大作业
  2. 机器人的弊议论文_《人工智能利与弊》高中作文800字5篇
  3. 志宇-RabbitMQ学习
  4. C++编译器符号表有哪些内容?
  5. 2018 China Collegiate Programming Contest - Jilin Site F - The Hermit HDU - 6560 思维
  6. 【Get深一度】天线孔径-antenna aperture
  7. python编译安装ssl的问题解决
  8. 计算机软硬件实训学什么,计算机实训报告
  9. 免费天气api 高速稳定的天气API接口 2019年4月测试稳定OK
  10. 计算机桌面显示已锁定什么意思,电脑已锁定是什么意思,界面没有了