1.Thymeleaf介绍

​ thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库,基于Apache License 2.0许可,由Daniel Fernández创建,该作者还是Java加密库Jasypt的作者。

Thymeleaf提供了一个用于整合Spring MVC的可选模块,在应用开发中,你可以使用Thymeleaf来完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。

它的特点便是:开箱即用,Thymeleaf允许您处理六种模板,每种模板称为模板模式:

XML
有效的XML
XHTML
有效的XHTML
HTML5
旧版HTML5
所有这些模式都指的是格式良好的XML文件,但Legacy HTML5模式除外,它允许您处理HTML5文件,其中包含独立(非关闭)标记,没有值的标记属性或不在引号之间写入的标记属性。为了在这种特定模式下处理文件,Thymeleaf将首先执行转换,将您的文件转换为格式良好的XML文件,这些文件仍然是完全有效的HTML5(实际上是创建HTML5代码的推荐方法)1。

另请注意,验证仅适用于XML和XHTML模板。

然而,这些并不是Thymeleaf可以处理的唯一模板类型,并且用户始终能够通过指定在此模式下解析模板的方法和编写结果的方式来定义他/她自己的模式。这样,任何可以建模为DOM树(无论是否为XML)的东西都可以被Thymeleaf有效地作为模板处理。

Thymeleaf模版引擎相关推荐

  1. thymeleaf依赖_玩转SpringBoot集成 Thymeleaf 模版引擎

    随着互联网技术的发展,在前后端分离开发模式已经逐渐成为主流的今天,前后端技术的划分也越来越清晰,社会分工进一步细化,职业岗位也更加细分,慢慢开始就有了前端攻城狮和后端攻城狮,技术也进一步细分,出现了以 ...

  2. 九、SpringBoot集成Thymeleaf模板引擎

    Thymeleaf咋读!??? 呵呵,是不是一脸懵逼...哥用我的大学四级英文知识告诉你吧:[θaimlif]. 啥玩意?不会音标?...那你就这样叫它吧:"赛母李府",大部分中国 ...

  3. springBoot的模版引擎

    模版引擎 常见的模版引擎有JSP.Velocity.Freemarker和Thymeleaf Thymeleaf模版 使用时需要把html页面放在classpath:/templates/文件夹下,t ...

  4. php框架里有模版引擎吗,Yii框架用模版引擎了吗?_PHP开发框架教程

    Yii框架用模版引擎了吗? Yii框架没有用模版引擎,Yii照样采纳原始PHP作为模板语法,该框架是一个基于组件的高性能PHP框架,用于开发大型Web运用,而且采纳严厉的OOP编写,并供了Web运用开 ...

  5. Play 2.0 用户指南 - 模版引擎 -- 针对Scala开发者

    2019独角兽企业重金招聘Python工程师标准>>> 一个基于Scala的类型安全的模版引擎 Play2.0带来了一个全新的真正强大的基于Scala的模版引擎.该引擎的设计灵感源于 ...

  6. 黄聪:VS2010开发T4模版引擎之基础入门

    原文:http://www.cnblogs.com/lzrabbit/archive/2012/07/15/2591085.html 额,T4好陌生的名字,和NuGet一样很悲催,不为世人所熟知,却又 ...

  7. Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs

    目录 前言 Express简介和安装 运行第一个基于express框架的Web 模版引擎 ejs express项目结构 express项目分析 app.set(name,value) app.use ...

  8. laravel 模版引擎使用

    laravel 模版引擎以 @标签 开头,以 @end标签 结尾,常用有 foreach foreachelse if for while等 1)foreach 和 foreachelse 差不到,区 ...

  9. js模版引擎handlebars.js实用教程——为什么选择Handlebars.js

    据小菜了解,对于java开发,涉及到页面展示时,比较主流的有两种解决方案: 1. struts2+vo+el表达式. 这种方式,重点不在于struts2,而是vo和el表达式,其基本思想是:根据页面需 ...

最新文章

  1. crontab 备份mysql数据库_crontab定时备份mySQL数据库
  2. 利刃 MVVMLight 1:MVVMLight介绍以及在项目中的使用
  3. 【AC自动机】前缀匹配(ybtoj AC自动机-3)
  4. 上楼梯算法的java实现(转)
  5. R VS Python, 你会选择谁呢?
  6. 14. model(2)
  7. 大前端(全栈)学习路线指南
  8. 黑马程序员Spring视频教程,全面深度讲解spring5底层原理 学习笔记
  9. 【webshell分析】PHP大马分析
  10. linux透明桥,linux透明防墙(网桥模式).doc
  11. python反转整数的几种方法_小白python整数反转
  12. 面向对象基础(类封装继承等等)
  13. 计算机电脑主板电池,电脑主板电池怎么放电_主板电池放电要多久_电脑主板电池为啥要放电...
  14. Java--网上银行登录及存取款业务模拟系统
  15. 胡歌官宣生女,胡椒粉们真为他高兴,人生最顶级的能力是【涅槃重生】的力量
  16. Python实现“已知三角形两个直角边,求斜边”
  17. Android通信安全之HTTPS
  18. android RemoteViews解析
  19. 深入理解散列函数和散列表
  20. AutoFlowLayout:流式布局以及报错处理

热门文章

  1. 【Proxy】PAC模式和全局代理模式的区别
  2. 日本的mmx任务将捕获火星及其卫星的8k图像
  3. 钉钉微应用 - - - - 如何本地开发调试
  4. 互联网不产生奸商,只是奸商学会上网了
  5. 嵌入式 hi3519平台uboot引导nfs文件系统
  6. 护网中的分析研判岗工作内容
  7. MySQL数据库实训题_实训六 MySql数据库编程练习
  8. mysql 查看函数fsync_fsync()函数 Unix/Linux
  9. Linux之NATAPP内网穿透工具安装和使用
  10. [Errno 113] No route to host