您的位置:

Thymeleaf 怎么读?

一、简介

Thymeleaf是一个XML / XHTML / HTML5模板引擎,适用于Web和独立环境。

Thymeleaf的主要目标是提供一种优雅而又高度可维护的创建模板的方式。为了实现这个目标,Thymeleaf在自然模板中完全嵌入了HTML,并添加了自定义属性以转换静态模板到模型。

二、基本语法

Thymeleaf使用“属性替换”语法。

<div th:text="${title}">This will be replaced with the value of the title variable</div>

使用这个基本语法,可以通过设置th:*属性来操作元素的属性值:

<p th:text="${book.title}">The Book Title</p>

Thymeleaf的注释语法和HTML相同。

<!-- This is an HTML comment -->
<!-- ! This is a Thymeleaf comment  ! -->

三、变量

Thymeleaf应用程序的上下文变量可以在表达式中使用(前缀“$”):${…}和“selection”表达式。

在Thymeleaf中,可以使用th:object设置一个形式上的“当前对象”,使得在之后的处理中可以使用相对属性选择器:

<form th:object="${formBean}">
<input th:field="*{propertyName}" />
</form>

四、迭代

Thymeleaf提供了直接在模板中进行迭代和分页的功能。

以下是一个迭代对象列表并显示每个对象属性的例子:

<ul>
<li th:each="user : ${users}">
<span th:text="${user.name}">User Name</span> : <span th:text="${user.age}">User Age</span>
</li>
</ul>

五、条件语句

Thymeleaf提供了常见条件表达式的相关命令。

以下是一个例子,用于显示一个变量的值是否为空:

<p th:if="${variable != null}">Value :<span th:text="${variable}"></span></p>

六、模板组成

Thymeleaf提供了使用片段应用程序的方便正确实现模板组合的功能。

以下是一个继承模板的例子:

<html>
<head th:fragment="common-header">
<title>The title</title>
</head>
<body>
<header><h1>The Header</h1></header>
<nav>... Navigation panel ...</nav>
<div th:fragment="main">
... Main content ...