当前位置:网站首页>什么是模板引擎?常见的模板引擎有哪些?thymeleaf的常用指令介绍。
什么是模板引擎?常见的模板引擎有哪些?thymeleaf的常用指令介绍。
2022-08-09 14:51:00 【Ran959】
什么是模板引擎?
模板引擎是为了让用户显示界面和业务数据内容分离而产生的,可以生成特定形式的文档,常用的格式有HTML、XML以及其他格式的文档。
常见的模板引擎 :
jsp、freemarker、velocity、themeleaf
(1)jsp 优点:1>>功能强大,可以写java代码,因此jsp代码可以跨平台。
2>>支持jsp标签、支持表达式语言
3>>性能良好,jsp文件会编译成class文件执行,有很好的性能表现
4>>官方标准,用户群广,丰富的第三方jsp标签库
缺点:调试难度高,因为是编译成class文件的,所以在报错时是class文件报错不是jsp。已经很少有公司使用了
(2)freemarker 优点:1>>不能编写java代码,可以实现严格的MVC分离。
2>>对jsp标签支持良好
3>>内置大量的常用功能、宏定义(类似于jsp标签),使用非常简单
4>>使用表达式语言
缺点:不是官方标准,第三方标签库不如jsp多
(3)velocity 优点:1>>不能编写java代码,可以实现严格的MVC分离。
2>>其官方好像表示比jsp功能还要好一些
3>>使用表达式语言,jsp的表达式语言可能就是学velocity的
缺点:1>>不是官方标准,第三方标签库不如jsp多
2>>对jsp标签支持不够好
3>>已经很久没有维护了
(4)thymeleaf:Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎。
Spring官方支持的服务的渲染模板中,并不包含jsp。而是Thymeleaf和 Freemarker等,而Thymeleaf与SpringMVC的视图技术,及SpringBoot的 自动化配置集成非常完美,几乎没有任何成本,你只用关注Thymeleaf的语法即可。
优点 1>>动静结合:Thymeleaf 在有无网络上都可以运行,即可以浏览静态页面(忽略未定义的标签属性)也可以浏览动态页面(因为其支持HTML原型,利用标签的额外属性来达到模板+数据的展示)。
2>>开箱即用:它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、OGNL表达式效果,避免每天套模板、改jstl、改标签的困扰。
3>>多方言支持:thymeleaf提供了spring标准方言和一个与SpringMVC完美集成的可选模块,快速实现表单绑定、属性编辑器、国际化等功能。
4>>与SpringBoot完美整合:SpringBoot提供了Thymeleaf的默认配置,并且为Thymeleaf设置了视图解析器,我们可以像以前操作jsp一样来操作Thymeleaf。代码几乎没有任何区别,就是在模板语法上有区别
缺点 :模板必须符合xml规范
thymeleaf的常用指令介绍:
Thymeleaf 标准⽅⾔还⽀持以下固定值布尔属性
th:readonly | th:hidden | th:autoplay |
th:checked | th:required | th:disabled |
th:selected |
边栏推荐
猜你喜欢
C语言程序设计笔记(浙大翁恺版) 第十周:字符串
A wave of Versailles: assault by the ali interview guide, I've got nine of the Offer
Computer Graphics From Scratch - Chapter 5
物联网技术概论:1~7章汇总(西安交通大学)
【Qt5 + OpenGL】glPointSize(10); error: undefined reference to `__imp_glPointSize‘
启动报错:Caused by: org.apache.ibatis.binding.BindingException汇总解决
太厉害了!华为大牛终于把MySQL讲的明明白白(基础+优化+架构)
C语言程序设计笔记(浙大翁恺版) 第十二周:程序结构
Shell functions and arrays
多线程学习
随机推荐
22岁测试工程师上来就内卷,起薪居然就18k,这谁顶得住?
vivo手机上的系统级消息推送平台的架构设计实践
常用类学习
navicat for Oraclel链接oracle 报错oracle library is not loaded的解决办法
C语言程序设计笔记(浙大翁恺版) 第七章:函数
经典面试题 之 JVM调优
【Qt5 + OpenGL】glPointSize(10); error: undefined reference to `__imp_glPointSize‘
第五讲 测试技术与用例设计
C语言程序设计笔记(浙大翁恺版) 第四周:循环
MySQL principle and optimization: Limit the query optimization
ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions unless TOP, OFFSET, or FOR XML is also specified
Shell functions and arrays
各种程序员线学习学习教程收集
FilenameFilter过滤文件名
DMPE-PEG-Mal Maleimide-PEG-DMPE 二肉豆蔻酰磷脂酰乙醇胺-聚乙二醇-马来酰亚胺
A wave of Versailles: assault by the ali interview guide, I've got nine of the Offer
DSPE-PEG-Hydrazide, DSPE-PEG-HZ, Phospholipid-Polyethylene Glycol-Hydrazide MW: 1000
OpenCV笔记整理【视频处理】
大文件上传和下载场景,如何节省成本?
C语言程序设计笔记(浙大翁恺版) 第十二周:程序结构