Thymeleaf**_css
Thymeleaf是一種現代的基於服務器端的Java模板引擎技術,也是一個優秀的面向Java的XML、XHTML、HTML5頁面模板,它具備豐富的標籤語言、函數和表達式,在使用Spring Boot框架進行頁面設計時,通常會選擇Thymeleaf模板html
Thymeleaf語法瀏覽器
經常使用標籤服務器
在HTML頁面上使用Thymeleaf標籤,Thymeleaf 標籤可以動態地替換掉靜態內容,使頁面動態展現。session
爲了你們更直觀的認識Thymeleaf,下面展現一個在HTML文件中嵌入了Thymeleaf的頁面文件,示例代碼以下:框架
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" media="all" href="../../css/gtvg.css" th:href="@{/css/gtvg.css}" /> <title>Title</title> </head> <body> <p th:text="${hello}">歡迎進入Thymeleaf的學習</p> </body> </html>
上述代碼中,「xmlns:th=「http://www.thymeleaf.org」「
用於引入Thymeleaf模板引擎標籤,使用關鍵字「th」標註標籤是Thymeleaf模板提供的標籤,其中,「th:href」用於引入外聯樣式文件,「th:text」用於動態顯示標籤文本內容。less
除此以外,Thymeleaf模板提供了不少標籤,接下來,經過一張表羅列Thymeleaf的經常使用標籤函數
| th:標籤 | 說明 |佈局
----------學習
| th:insert
| 佈局標籤,替換內容到引入的文件 |
| th:replace | 頁面片斷包含(相似JSP中的include標籤) |
| th:each
| 元素遍歷(相似JSP中的c:forEach標籤) |
| th:if
| 條件判斷,若是爲真 |
| th:unless
| 條件判斷,若是爲假 |
| th:switch
| 條件判斷,進行選擇性匹配 |
| th:case
| 條件判斷,進行選擇性匹配 |
| th:value
| 屬性值修改,指定標籤屬性值 |
| th:href
| 用於設定連接地址 |
| th:src
| 用於設定連接地址 |
| th:text
| 用於指定標籤顯示的文本內容 |
標準表達式
Thymeleaf模板引擎提供了多種標準表達式語法,在正式學習以前,先經過一張表來展現其主要語法及說明
| 說明 | 表達式語法 |
| 變量表達式 | ${…} |
| 選擇變量表達式 |
*{…} |
| 消息表達式 | #{…} |
| 連接URL表達式 | @{…} |
| 片斷表達式 | ~{…} |
1.變量表達式 ${…}
變量表達式${…}主要用於獲取上下文中的變量值,示例代碼以下:
<p th:text="${title}">這是標題</p>
示例使用了Thymeleaf模板的變量表達式${…}用來動態獲取P標籤中的內容,若是當前程序沒有啓動或者當前上下文中不存在title變量,該片斷會顯示標籤默認值「這是標題」;若是當前上下文中存在title變量而且程序已經啓動,當前P標籤中的默認文本內容將會被title變量的值所替換,從而達到模板引擎頁面數據動態替換的效果
同時,Thymeleaf爲變量所在域提供了一些內置對象,具體以下所示
# ctx:上下文對象 # vars:上下文變量 # locale:上下文區域設置 # request:(僅限Web Context)HttpServletRequest對象 # response:(僅限Web Context)HttpServletResponse對象 # session:(僅限Web Context)HttpSession對象 # servletContext:(僅限Web Context)ServletContext對象
結合上述內置對象的說明,假設要在Thymeleaf模板引擎頁面中動態獲取當前國家信息,可使用#locale內置對象,示例代碼以下
The locale country is: <span th:text="${#locale.country}">US</span>.
上述代碼中,使用th:text="${#locale.country}"動態獲取當前用戶所在國家信息,其中標籤內默認內容爲US(美國),程序啓動後經過瀏覽器查看當前頁面時,Thymeleaf會經過瀏覽器語言設置來識別當前用戶所在國家信息,從而實現動態替換 剛學了拉勾教育的《Java工程師高薪訓練營》,看到剛學到的點就回答了。但願拉勾能給我推到想去的公司,目標:字節!!