Thymeleaf學習記錄(4)--$/*/#/@語法


表達式符號

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

運行:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM