深色模式
5.3 一次性设置多个属性值
Thymeleaf 提供了两个特殊的属性——th:alt-title 和 th:lang-xmllang,它们可以一次性为两个不同的属性设置相同的值。具体来说:
th:alt-title会同时设置alt和title两个属性;th:lang-xmllang会同时设置lang和xml:lang两个属性。
以我们 GTVG 网站的首页为例,原本我们需要这样写(用 th:attr 同时设置多个属性):
html
<img src="../../images/gtvglogo.png"
th:attr="src=@{/images/gtvglogo.png},title=#{logo},alt=#{logo}" />或者等价的、用多个专用属性修饰符的写法:
html
<img src="../../images/gtvglogo.png"
th:src="@{/images/gtvglogo.png}" th:title="#{logo}" th:alt="#{logo}" />而通过 th:alt-title,我们可以简化成这样:
html
<img src="../../images/gtvglogo.png"
th:src="@{/images/gtvglogo.png}" th:alt-title="#{logo}" />总结
th:alt-title和th:lang-xmllang是 Thymeleaf 专为“多属性赋相同值”设计的简化属性;th:alt-title等价于同时设置th:alt和th:title,th:lang-xmllang等价于同时设置th:lang和th:xml:lang;- 这种写法能减少代码冗余,尤其适合
alt/title、lang/xml:lang这类常需赋值相同的属性对。
