Thymeleaf是干什么的?
Thymeleaf是一个Java的模板引擎,它允许开发者将数据绑定到HTML模板,然后动态地生成HTML内容。Thymeleaf可以用于生成各种类型的动态内容,包括Web页面、电子邮件、PDF等。它提供了一种简单的方式来定义模板,并通过表达式和上下文变量来动态地填充模板。Thymeleaf还支持多种表达式语言,包括Java表达式、JavaScript表达式和Spring表达式。这使得Thymeleaf成为一个灵活且强大的模板引擎,适用于各种Web应用程序。
学它之前,需要先学一点HTML、css,javascript,javase,springFramework,mvc,以及一些其他的网络知识
以上知识采自官网:百里香叶 (thymeleaf.org)https://www.thymeleaf.org/
<table>
<thead>
<tr>
<th th:text="#{msgs.headers.name}">Name</th>
<th th:text="#{msgs.headers.price}">Price</th>
</tr>
</thead>
<tbody>
<tr th:each="prod: ${allProducts}">
<td th:text="${prod.name}">Oranges</td>
<td th:text="${#numbers.formatDecimal(prod.price, 1, 2)}">0.99</td>
</tr>
</tbody>
</table>
比如这行代码,演示一下示例<table>标签定义一个表格
<taead>标签定义一个表头
<tr>标签定义表格中的一行
th:text
是一个属性,用于设置HTML元素中的文本内容。
<th>定义表头单元格,在这里使用了th:text
属性来显示国际化的消息。例如,#{msgs.headers.name}
可能是一个键值对,指向某个资源文件中对应的消息。
<tbody>标签定义了表格的主体部分
在主体部分中,<tr th:each="prod: ${allProducts}">
表示对于allProducts
列表中的每个元素(在这里命名为prod
),都会生成一个新的行。
each
是 Thymeleaf 模板引擎的一个指令,用于遍历集合或数组。
在每一行中,有两个<td>
标签,分别代表表格的一个单元格。它们的内容通过th:text
属性绑定到相应的数据。例如,${prod.name}
和${#numbers.formatDecimal(prod.price, 1, 2)}
分别绑定到产品的名称和价格。
prod是临时的迭代时候使用的一个变量
${#numbers.formatDecimal(prod.price, 1, 2)}
是Thymeleaf表达式的一部分,用于格式化数字。这里它将prod.price
格式化为一个具有1位整数和2位小数的数字。