您的位置:

详解Thymeleaf HTML

一、模板引擎介绍

Thymeleaf是一个XML/HTML模板引擎,可用于Web和非Web环境中。它是Spring框架的一部分,但也可以在非Spring应用程序中使用。

Thymeleaf主要特点是将模板文件中的标记语言转换为标准的HTML/ XML文档。它通过提供一组预定义的标记来达到这种目的。

此外,Thymeleaf还具有可重用性和可扩展性,可以与多个模板引擎集成,并且易于学习和使用。

二、语法基础

与其他模板引擎不同,Thymeleaf的语法基本上是自然表达式,这使得代码易于理解和编辑。下面列出了一些最基本的Thymeleaf表达式:

  • 变量表达式:使用${}包裹变量名,在HTML模板中插入变量或者对象属性的值,例如:${person.name}
  • 选择变量表达式:使用 #{} 或 把变量的选择和操作代码相结合,例如:${#lists.isEmpty(users)}
  • 文字插值表达式:使用th:text或th:utext标签插入纯文本或HTML标签,例如:

  • 迭代循环:使用th:each 标记实现集合迭代循环,例如:
           <div th:each="item : ${items}">
               <h2 th:text="${item.name}"></h2>
           </div>
          

三、条件语句

Thymeleaf可以为不同的逻辑情况提供不同的HTML代码。使用Thymeleaf的if、unless、switch语句可使这点成为可能。例如:

  <p th:if="${person.age < 18}" th:text="'未成年'">

<div th:switch="${dayOfWeek}"> <p th:case="'MONDAY'">星期一</p> <p th:case="'TUESDAY'">星期二</p> <p th:case="'WEDNESDAY'">星期三</p> <p th:case="'THURSDAY'">星期四</p> <p th:case="'FRIDAY'">星期五</p> <p th:case="'SATURDAY'">星期六</p> <p th:case="'SUNDAY'">星期日</p> <p th:case="*">无效日期</p> </div>

四、模板片段

Thymeleaf支持创建可重用的模板片段,这样可以减少重复代码的编写。例如:

  <div th:fragment="date-header">
      <h2 th:text="${date}"></h2>
  </div>

以上代码可以在其他模板中通过以下方式引用:

  <div th:replace="date-header :: date-header">