Thymeleaf對于變量的操作主要有$*#三種方式:
- 變量表達式: ${…},是獲取容器上下文變量的值.
- 選擇變量表達式: *{…},獲取指定的對象中的變量值。如果是單獨的對象,則等價于${}。
- 消息表達式: #{…}表達式與th:text一起使用,加載數據源中的消息,用于國際化
- 鏈接網址表達式: @{…},獲取網址鏈接
1.${…}獲取變量 傳遞單一變量
后臺代碼:
前臺代碼:
運行結果:
傳遞對象
后臺新建User類:
更改Controller
前臺取數據:
頁面運行結果:
2.*{…}獲取變量
變量表達式不僅可以用...表達式編寫,還可以用于表達式?...。選擇表達式所選擇的對象是當前環境內的變量值,如果對于單一變量(非對象),則{...}表達式編寫,還可以用于表達式*{...}。選擇表達式所選擇的對象是當前環境內的變量值,如果對于單一變量(非對象),則...表達式編寫,還可以用于表達式?...。選擇表達式所選擇的對象是當前環境內的變量值,如果對于單一變量(非對象),則{…}和*{…}完全等價。
3.#{…}表達式與th:text一起使用,加載數據源中的消息,用于國際化
解析程序會在/WEB-INF/templates/home.html在同一文件夾中找到.properties文件中的消息,并使用與模板相同的名稱,如:
- /WEB-INF/templates/home_en.properties 用于英文文本。
- /WEB-INF/templates/home_es.properties 西班牙語文本。
- /WEB-INF/templates/home_pt_BR.properties 用于葡萄牙語(巴西)語言文本。
- /WEB-INF/templates/home.properties 對于默認文本(如果區域設置不匹配)。
4.@{…}鏈接的訪問 鏈接分為絕對路徑和相對路徑
- 絕對的URL,比如 http://www.thymeleaf.org
·
-
相對URL,可以是:
頁面相對,像 user/login.html1.上下文相關,如/itemdetails?id=3(服務器中的上下文名稱將自動添加)
2.與服務器相關,~/billing/processInvoice(允許在同一服務器中調用另一個上下文(=應用程序)中的URL)。
3.協議相對URL,如 //code.jquery.com/jquery-2.0.3.min.js
絕對路徑示例:
相對路徑示例: templates文件夾下新建page2
后臺更改Controller:
運行: