來自官方手冊
設定命名空間xmlns:th=http://www.thymeleaf.org
th:
1.th:text 屬性:將用該屬性的值覆蓋掉其中的html文本節(jié)點
2.th:href 屬性:將用該屬性的值覆蓋掉html中href屬性的值
3.th:attr="src=xxx.png, class=xx" 覆蓋對應的屬性值,多個設置之間用逗號隔開。
引號自動處理,也就是最終的html是:src="xxx.png", "class=xx"這樣
字符串中用到# * + " $等在Thymeleaf有特殊意義的符號時,使用| |包起來
標準表達式語法:字符串中$*#@~后接{}的作用
${...} : Variable expressions. 變量(對象)
*{...} : Selection expressions. 對象的屬性
#{...} : Message (i18n) expressions. 國際化消息表達
@{...} : Link (URL) expressions. 與url相關(guān)
~{...} : Fragment expressions. 引入公共片段
1.${...}:
th:text="${obj}"把變量值用到這里
2.*{...}:
相對于對象的屬性值。即前面設定了th:object時,th:text="*{prop}"中prop是前面對象的屬性。
3.#{...}:
根據(jù)語言自動選擇顯示哪個properties中的值,比如home_zh_CN.properties、home_en.properties。
此外,能夠像MessageFormat那樣使用占位符{0}這些來使用,占位符可用變量表達式。即
home.welcome=Hello {0}(properties中)
#{ home.welcome(${val}) }將用變量val的值替換掉{0}。語法格式顯然易見。
4.@{...} :
提供強大的url處理。如開發(fā)中href="/a.html",將跳轉(zhuǎn)到根路徑下的a.html。但是放到tomcat等外部組件中時,可能需要項目名字,即href="webapp/a.html"這樣才是正確的。為了解決這個問題,模板引擎提供@{...}來表示項目根路徑,即在需要時href="@{/a.html}"將自動變?yōu)?code>href="webapp/a.html"。
此外還支持../這樣的上層目錄,支持內(nèi)部直接使用變量表達等等。
5.~{...} :引入公共片段時可選擇使用