李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
Thymeleaf简介
Leefs
2019-11-03 PM
2902℃
2条
# Thymeleaf简介 ### 一、概念 **Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模版引擎。**类似于JSP、Velocity、FreeMaker等,它可以轻易的与Spring MVC等Web框架进行集成作为Web应用9的模版引擎。 ### 二、优点 + **1.Thymeleaf在有网络和无网络的环境下都可以运行**,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持html原型,然后在html标签里增加额外的属性来达到**模版+数据**的展示方式。浏览器解释html时会忽略未定义的标签属性,所以thymeleaf的模版可以静态地运行;当有数据返回到页面时,Thymeleaf标签会动态地替换掉静态内容,使页面动态显示。 + **2.Thymeleaf开箱即用的特性。**它提供标准和Spring标签两种方言,可以直接套用模版实现JSTL、OGNL表达式效果,避免每天套模版、改JSTL、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。 + **3.Thymeleaf 提供 Spring 标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。** ### 三、模版引擎概述 Thymeleaf是一种模版语言。常见的模版语言包含以下几个概念:数据(Data)、模版(Template)、模版引擎(Template Engine)和结果文档(Result Documents). #### 数据 数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵。数据本身没有意义,数据只有对实体行为产生影响时才成为信息。 #### 模版 模版是一个蓝图,即一个与类型无关的类。编译器在使用模版时,会根据模版实参对模版进行实例化,得到一个与类型相关的类。 #### 模版引擎 模版引擎(这里特指用于Web开发的模版引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模版引擎就会生成一个标准的HTML文档。 #### 结果文档 一种特定格式的文档,比如用于网站的模版引擎就会生成一个标准的HTML文档。 #### 模版语言用途 + 1.页面渲染 + 2.文档生成 + 3.代码生成 + 4.“**数据+模版=文本**”的应用场景 ### 四、常见问题 **问题1:Thymeleaf与JSP的区别?** Thymeleaf是以HTML文件为基础,添加标签完成“数据+模版=文本”的过程,而JSP需要将JSP文件编译成为.class文件才能够执行,JSP是一种Java servlet。 **问题2:Thymeleaf如何替换模版和数据?** 模版引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易。 *符:[参考文章1](https://www.jianshu.com/p/2c28f7f48143)、[参考文章2](http://www.360doc.com/content/19/0220/11/54252913_816267603.shtml)*
标签:
Java
,
Thymeleaf
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/122.html
上一篇
访问权限控制简介
下一篇
SpringBoot整合Thymeleaf
取消回复
评论啦~
提交评论
已有 2 条评论
岳茂林
想嫂子的第二天
回复
2019-11-03 19:01
Leefs
博主
@岳茂林
gun
回复
2019-11-03 19:25
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
标签云
序列化和反序列化
Map
HDFS
Filter
Spark Core
Spark SQL
Sentinel
算法
Redis
容器深入研究
Nacos
Eclipse
FastDFS
机器学习
Hadoop
Yarn
Tomcat
排序
Spark Streaming
Http
Hbase
MyBatisX
Spark
Jquery
Flink
Docker
MyBatis-Plus
JavaScript
Ubuntu
CentOS
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
想嫂子的第二天
gun