Thymeleaf $/*/#/@語法

表達式符號

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

運行:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章