前端交给我们的是html页面,如果是我们以前开发,我们需要把它转成JPS文件,转JSP的好处,当我们查出一些数据,转化到JSP页面以后,我们可以用c:each进行遍历,c:if进行判断,我们JSP支持非常强大的内容,包括也能写JAVA代码,但是我们现在这种情况,SpringBoot是jar包的方式,不是web项目,第二我们用的还是嵌入式的tomcat,所以他默认是不支持JSP的,不支持JPS,如果我们使用从静态页面的方式,那给我们开发带来非常大的麻烦,那怎么办呢,我们springboot推荐使用模板引擎,那么模板引大家听得很多,其实JSP不就是一个模板引擎吗,加上市面上的Velocity,还有FreeMark,包括SpringBoot推荐的thymeleaf,模板引擎非常多,但再多的模板引擎,他们的思想都是一样的,什么样的一个思想呢,模板引擎的作用就是我们写一个模板,有些数据是动态的,我们写一些表达式,而这值从哪儿来呢,我们来组装一些数据,把这数据找到,然后把模板和数据交给模板引擎,模板引擎按照数据,把这个表达式解析,填充到我们指定的位置,然后把数据输出一个我们想要的内容,给我们写出去,这就是我们的模板引擎,不管是JSP还是其他的模板引擎,都是这个思想,只不过就是说,不同模板引擎之间,他们的语法可能不一样

模板引擎其他的我不介绍了,我们主要介绍SpringBoot推荐的thymeleaf模板引擎,这个我们称之为高级语言的模板引擎,他的语法更简单,而且功能更强大,我们就来看一下这个模板引擎,既然要看模板引擎,首先我们看SpringBoot里面怎么用,怎么用第一步,首先我们要引入thymeleaf,这怎么引呢,对于Springboot来说,什么东西都是stater的事吗,我们来引一下,pom文件里面,我们来看springboot的官方文档,在官方文档的starter里面,https://docs.spring.io/spring-boot/docs/1.5.22.RELEASE/reference/html/using-boot-build-systems.html
#using-boot-starter有咱们模板引擎的场景spring-boot-starter-thymeleaf那我们就来引用,我们就叫spring-boot-starter-thymeleaf,版本我们不用管,让他来自动下载,<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>我们来看一下他下载了什么,如果我们需要thymeleaf就只需要他就行了<properties><thymeleaf.version>3.0.9.RELEASE</thymeleaf.version><thymeleaf-layout-dialect.version>2.3.0</thymeleaf-layout-dialect.version><!-- 布局功能的支持程序 thymeleaf3主程序 layout2以上版本 --><!-- thymeleaf2 layout1 --><thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
</properties>

但是我们来说,现在默认用的是2.1.6版本,这个2.1.16版本太低了,我们来看一下,thymeleaf的官网,他把东西都放到github下,我们来搜索一下github上的thymeleafhttps://github.comhttps://github.com/thymeleaf/thymeleaf就是这个项目,releases已发布的,发布到3.0.9了,那我们想要怎么切换,Springboot官方文档里面也说了,Use Thymeleaf 3https://docs.spring.io/spring-boot/docs/1.5.22.RELEASE/reference/html/howto-spring-mvc.html
#howto-use-thymeleaf-3我们使用3版本,只要你把这个版本号改一下就行了,<properties><thymeleaf.version>3.0.2.RELEASE</thymeleaf.version><thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
</properties>这就是thymeleaf3,布局功能的支持程序,就是这一块特别注意,我们布局功能的支持程序,如果是thymeleaf3,适配layout2以上版本,<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.3.0</thymeleaf-layout-dialect.version>我们可以不使用springboot给我们提供的版本,比如我们用3.0.9,我们不用3.0.2,我们用3.0.9,那layout也应该是3.0.2以上的版本,https://github.com/ultraq/thymeleaf-layout-dialect/releases?after=2.0.5Thymeleaf Layout Dialect 2.0.0ultraq released this on 9 Jul 2016 · 183 commits to master since this releaseLayout dialect rewritten to support Thymeleaf 3 (#68, Layout Dialect 2.0 milestone)如果自己来调节,这个坑就是这样,在2.0的时候,他说我们这个重写了以后,来支持thymeleaf3的,2.0以上的layout功能才支持,layout是做支持扩展的,那我们也上升到最新版本2.2.2<thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>如果要改自己一定要注意,这种方式来切换版本,就是说通过这一个,大家以后就触类旁通,要改springboot给我们提供的一些默认版本,我们就可以这么来改,如果里面还导入了一些适配的中间包,一定要参考官方文档,他们之间的适配关系可别导错了

SpringBoot_web开发-引入thymeleaf相关推荐

  1. SpringBoot_Web开发基础内容

    SpringBoot_Web开发 1.简介 2.静态资源映射 3.模板引擎 1.原理 2.引入Thymeleaf 3.Thymeleaf基础规则 4.语法 5.自己扩展类的写法 maven项目导入较慢 ...

  2. Spring Boot 引入 Thymeleaf 及入门使用

    目录: 引言 1.Spring Boot 引入 Thymeleaf 1.1 修改 Thymeleaf 版本 1.2 修改 Thymeleaf Layout Dialect 版本 2.Thymeleaf ...

  3. Spring Boot怎么样引入Thymeleaf模板引擎

    一.前言: 市场上的模板引擎有很多如下: JSP.Velocity.Freemarker.Thymeleaf 而SpringBoot推荐的Thymeleaf,其语法更简单,功能更强大 二.引入thym ...

  4. thymeleaf 获取yml中的值_SpringBoot引入Thymeleaf

    1.Thymeleaf简介 Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用 Thymeleaf的主要目标在于提供一种可被浏览器正确显示的.格式良好的模板创建 ...

  5. 微信小程序开发-引入阿里巴巴矢量icon图标库

    微信小程序开发-引入阿里巴巴矢量icon图标库 https://blog.csdn.net/tang1392/article/details/78927107

  6. SpringBoot_web开发-thymeleaf语法

    我们看一下Thymeleaf的自动配置规则,我们得按照规则用起来,这里有一个自动配置,这里专门有一个thymeleaf,Thymeleaf的自动配置,ThymeleafAutoConfiguratio ...

  7. SpringBoot_web开发-webjars静态资源映射规则

    现在要做WEB功能,还是选择WEB模块,pom文件依赖web模块,<dependency><!-- 引入web模块 --><groupId>org.springfr ...

  8. SpringBoot_web开发-简介

    接下来我们介绍SpringBoot与WEB开发,从这一章开始,就属于实战部分的内容了,包括后来要学的数据库访问,如何使用缓存,包括连接消息队列,包括分布式,包括安全,如果只是简单用起来,还是非常快的, ...

  9. 如何开发引入小程序插件

    一般来讲各个小程序开放平台对于插件开发的开放范围有一定的限制,例如微信小程序平台开放了22个行业相关的插件开发,其中对医疗服务.金融业.文娱.社交等行业还有进一步的特殊限制. 在了解小程序插件的开发规 ...

最新文章

  1. 轮询没有收到的可能性_收到大学录取通知书,不去报到有什么影响?
  2. Netty之WebSocket和四种IO介绍
  3. python输入字母判断大小写_Python-检查输入的数字、大写字母、小写字母和特殊字符...
  4. python条码识别
  5. [ARM-assembly]-全局变量/静态全局变量/初始化/未初始化变量的存放位置分析
  6. zabbix安装步骤
  7. 在等待Jakarta EE时
  8. Spring事件的观察者模式
  9. LeetCode算法入门- Search Insert Position -day19
  10. ie6、ie7下overflow失效
  11. mysql begin rollback_事务控制语句,begin,rollback,savepoint,隐式提交的SQL语句
  12. HDOJ HDU 2088 Box of Bricks ACM 2088 IN HDU
  13. 刚接触Linux服务器,如何变成可视化的操作界面?
  14. python开发erp系统odoo_odooERP系统(框架)总结
  15. chm文件打不开的问题
  16. BTE1650 FBL1N/FBL2N/FBL3N/FBL5N-增加客制化字段 客商及科目描述
  17. 如何选择适合你的兴趣爱好(九),钓鱼
  18. 三菱plc支持c语言,5.三菱FX系列PLC支持哪种编程方式.
  19. JAVA视频资料百度网盘分享
  20. 画图现代计算机系统,教程方法;Win10新惊喜:经典画图界面完全现代化电脑技巧-琪琪词资源网...

热门文章

  1. 自动刷新获取wifi信号强度,android
  2. 委托、Lambda表达式和事件
  3. break、continue和return在程序中的作用
  4. Android Studio导入 jar包的方法
  5. linux 下实现ssh免密钥登录
  6. MaxCompute实践分析
  7. tinyhttpd源码详解
  8. jQuery Mobile页面返回无需重新get
  9. 工作多年的.NET程序员,是否建立了自己的开发知识库?分享制作电子书的经验...
  10. 解决方案 | python安装wordfreq库