Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 71.9MB ·虚拟内存 1299.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
th:* 在同一个标签中写入多个属性会发生什么?例如:
<ul> <li th:each="item : ${items}" th:text="${item.description}">Item description here...</li> </ul>
我们希望该th:each属性在之前执行,th:text以便我们得到我们想要的结果,但考虑到HTML / XML标准没有给标记中的属性编写顺序赋予任何意义,优先级必须在属性本身中建立机制,以确保它将按预期工作。
因此,所有Thymeleaf属性都定义了一个数字优先级,它确定了它们在标记中执行的顺序。这个顺序是:
编号 | 特征 | 属性 |
---|---|---|
1 | 片段包含 | th:insert th:replace |
2 | 片段迭代 | th:each |
3 | 条件评估 | th:if th:unless th:switch th:case |
4 | 局部变量定义 | th:object th:with |
5 | 一般属性修改 | th:attr th:attrprepend th:attrappend |
6 | 具体属性修改 | th:value th:href th:src ... |
7 | 文字(标签正文修改) | th:text th:utext |
8 | 片段规范 | th:fragment |
9 | 片段删除 | th:remove |
这个优先级机制意味着如果属性位置被反转,上面的迭代片段将给出完全相同的结果(虽然它的可读性稍差):
<ul> <li th:text="${item.description}" th:each="item : ${items}">Item description here...</li> </ul>
1. 标准 HTML/XML 注释标准HTML / XML注释<!-- ... -->可以在Thymeleaf模板中的任何位置使用。Thymeleaf将不会处理这些评论中的任何内容,并将逐字复制到结 ...