表達式符號
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,可以是:
o 頁面相對,像 user/login.html
o 上下文相關,如/itemdetails?id=3(服務器中的上下文名稱將自動添加)
o 與服務器相關,~/billing/processInvoice(允許在同一服務器中調用另一個上下文(=應用程序)中的URL)。
o 協議相對URL,如 //code.jquery.com/jquery-2.0.3.min.js
絕對路徑示例:
相對路徑示例:
templates文件夾下新建page2
後臺更改Controller:
運行: