溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringBoot怎么引入Thymeleaf方法

發(fā)布時(shí)間:2020-10-28 01:36:38 來(lái)源:億速云 閱讀:248 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹SpringBoot怎么引入Thymeleaf方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1、Thymeleaf簡(jiǎn)介

Thymeleaf是個(gè)XML/XHTML/HTML5模板引擎,可以用于Web與非Web應(yīng)用
Thymeleaf的主要目標(biāo)在于提供一種可被瀏覽器正確顯示的、格式良好的模板創(chuàng)建方式,因此也可以用作靜態(tài)建模,Thymeleaf的可擴(kuò)展性也非常棒。你可以使用它定義自己的模板屬性集合,這樣就可以計(jì)算自定義表達(dá)式并使用自定義邏輯,Thymeleaf還可以作為模板引擎框架。

2、引入Thymeleaf

引入依賴(lài)

在maven(pom.xml)中直接引入:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

配置Thymeleaf

在application.yml配置Thymeleaf

server:
  port: 8000
spring:
  thymeleaf:
    cache: false # 關(guān)閉頁(yè)面緩存
    encoding: UTF-8 # 模板編碼
    prefix: classpath:/templates/  # 頁(yè)面映射路徑
    suffix: .html # 試圖后的后綴
    mode: HTML5 # 模板模式

# 其他具體配置可參考o(jì)rg.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties
# 上面的配置實(shí)際上就是注入該類(lèi)的屬性值

demo示例

創(chuàng)建IndexController

@Controller
public class IndexController {
    // 返回視圖頁(yè)面
    @RequestMapping("index")
    public String index(){
        return "index";
    }

}

創(chuàng)建index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    Hello Thymeleaf!
</body>
</html>

創(chuàng)建TestController

@RestController
public class TestController {
    
    // 返回整個(gè)頁(yè)面
    @RequestMapping("/test")
    public ModelAndView test(){
        return new ModelAndView("test");
    }
}

創(chuàng)建test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
Hello Thymeleaf! </br>
By: ModelAndView
</body>
</html>

3、測(cè)試結(jié)果

SpringBoot怎么引入Thymeleaf方法

4、Thymeleaf基礎(chǔ)語(yǔ)法及使用

引入標(biāo)簽  

html標(biāo)簽里引入xmlns:th="http://www.thymeleaf.org"才能使用th:*這樣的語(yǔ)法

引入U(xiǎn)RL  

@{...}

例如:

<a th:href="@{http://www.baidu.com}">絕對(duì)路徑</a> 是訪問(wèn)絕對(duì)路徑下的URL, <a th:href="@{/}">相對(duì)路徑</a> 是訪問(wèn)相對(duì)路徑下的URL。
<a th:href="@{css/bootstrap.min.css}">是引入默認(rèn)的static下的css文件夾下的bootstrap文件,類(lèi)似的標(biāo)簽有: th:href 和 th:src

3.獲取變量  

通過(guò)${}取值,對(duì)于JavaBean的話,使用變量名.屬性名獲取

4.字符串替換

<span th:text="'Welcome to our application, ' + ${user.name} + '!'"></span>
或者
<span th:text="|Welcome to our application, ${user.name}!|"></span>
注意:|…|中只能包含變量表達(dá)式${…},不能包含其他常量、條件表達(dá)式等

5.運(yùn)算符  

在表達(dá)式中可以使用各類(lèi)算術(shù)運(yùn)算符  
例如 (+, -, *, /, %)  
例如:th:with="isEven=(${stat.number} % 1 == 0)"  
邏輯運(yùn)算符 (>, <, <=,>=,==,!=)  
需要注意的是使用<,>的時(shí)候需要轉(zhuǎn)義

th:if="${stat.number} &gt; 1"
th:text="'Execution mode is ' + ( (${execMode} == 'dev')? 'Development' : 'Production')"

6.條件  
  if/unless   th:if是該標(biāo)簽在滿足條件的時(shí)候才會(huì)顯示,unless是不成立時(shí)候才顯示

<a th:href="@{/login}" th:unless=${user.number != null}>Login</a>

switch  thymeleaf支持switch結(jié)構(gòu),默認(rèn)屬性(default)用*表示

<p th:switch="${user.role}">
     <p th:case="'admin'">User is an administrator</p>
     <p th:case="#{roles.manager}">User is a manager</p>
     <p th:case="*">User is some other thing</p>
</p>

7.循環(huán)

<tr th:each="prod : ${prods}">
    <td th:text="${prod.name}">Onions</td>
    <td th:text="${prod.price}">2.41</td>
    <td th:text="${prod.inStock}? #{true} : #{false}">yes</td>
</tr>

8.Utilities

內(nèi)置在Context中,可以直接通過(guò)#訪問(wèn)
#dates  
#calendars  
#numbers  
#strings  
arrays   
lists  
sets   
maps   
…

以上是SpringBoot怎么引入Thymeleaf方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI