模板引擎Thymeleaf的详细介绍 - 极悦
首页 课程 师资 教程 报名

模板引擎Thymeleaf的详细介绍

  • 2022-11-30 10:36:14
  • 509次 极悦

1.模板引擎是什么?

模板引擎是以业务逻辑层和表现层分离为目的的,将规定格式的模板代码转换为业务数据的算法实现。

它可以是一个过程代码、一个类,甚至是一个类库。不同的模板引擎其功用也不尽相同,但其基本原理都差不多。

2.常见的模板引擎:

常见的模板引擎有:jsp、freemarker、velocity、themleaf

3.Thymeleaf:

Thymeleaf是什么呢?它是用来开发Web和独立环境项目的服务器端的Java模版引擎

• Spring官方支持的服务的渲染模板中,并不包含jsp。而是Thymeleaf和 Freemarker等,而Thymeleaf与SpringMVC的视图技术,及SpringBoot的 自动化配置集成非常完美,几乎没有任何成本,你只用关注Thymeleaf的语法 即可。

动静结合:Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏 览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是 由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示 方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态 地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动 态显示。

开箱即用:它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展 和创建自定义的方言。

多方言支持:Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的 可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。

与SpringBoot完美整合:SpringBoot提供了Thymeleaf的默认配置,并且 为Thymeleaf设置了视图解析器,我们可以像以前操作jsp一样来操作Thymeleaf。代 码几乎没有任何区别,就是在模板语法上有区别。

Thymeleaf 模板引擎支持多种表达式:

变量表达式:${...}

选择变量表达式:*{...}

链接表达式:@{...}

国际化表达式:#{...}

片段引用表达式:~{...}

(1)引入提示

在html页面中引入thymeleaf命名空间,即,此时在html模板文件中动态的属性使用th:命名空间修饰 。

<html lang="en" xmlns:th="http://www.thymeleaf.org">

(2)变量表达式(获取变量值)

<div th:text="'你是否读过,'+${session.book}+'!!'">
    同EL表达式有些相似的效果,如果有数据,被替换
    完成前后端分离效果(美工代码)
</div>

(3)URL表达式(引入URL)

引用静态资源文件(CSS使用th:href,js使用使用th:src)

href链接URL(使用th:href)

(4)选择或星号表达式

<div th:object="${session.user}">
    <p>Name: <span th:text="*{firstName}">Sebastian</span>.</p>
    <p>Surname: <span th:text="*{lastName}">Pepper</span>.</p>
    <p>Nationality: <span th:text="*{nationality}">Saturn</span>.</p>
  </div> 
//等价于
<div>
  <p>Name: <span th:text="${session.user.firstName}">Sebastian</span>.</p>
  <p>Surname: <span th:text="${session.user.lastName}">Pepper</span>.</p>
  <p>Nationality: <span th:text="${session.user.nationality}">Saturn</span>.</p>
</div>

(5)文字国际化表达式

简单看一下就可以,文字国际化表达式允许我们从一个外部文件获取区域文字信息(.properties),用Key索引Value,还可以提供一组参数(可选).

#{main.title}    
#{message.entrycreated(${entryId})} 可以在模板文件中找到这样的表达式代码:    
<table>
    <th th:text="#{header.address.city}">
    <th th:text="#{header.address.country}">
</table>

以上就是关于“模板引擎Thymeleaf的详细介绍”,如果想了解更多可查看Thymeleaf基础教程,里面的课程内容由浅到深,细致全面,通俗易懂,适合没有基础的小伙伴学习,希望对大家能够有所帮助。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交