17.3 th:ref属性
th:ref
仅仅是一个标记属性。从处理的角度来看,它什么也没有做,只是在模板被处理时消失了而已。但是,它的用处体现在它会像标记引用一样工作。比如,它可以通过标记选择器的名字解析,就像一个标签名字或一段标记(th:fragment
)。
如果我们有如下的选择器:
这会匹配:
任何
<whatever>
标签任何带
th:fragment="whatever"
属性的标签任何带
th:ref="whatever"
属性的标签
th:ref
的优势是什么呢?比如,使用纯HTML的id
属性?我们可能是仅仅不想往标签里加这么多id
和class
属性作为逻辑锚,来污染我们的输出。
在同样意义上,th:ref
的劣势是什么呢?显而易见,我们得往我们的模板里添加点Thymeleaf逻辑。
注意,th:ref
属性不仅仅可以用于解耦的逻辑模板文件
:它在其它场景下同样有效,比如片段表达式(~{...}
)。
Last updated