Spring Boot—— Thymeleaf (gradle) 的簡單使用

執筆記憶的空白發表於2016-12-05

最近專案用到了Spring Boot ,但是在控制器返回html檢視並渲染引數的時候,存在了疑問。後面考慮用Thymeleaf ,感覺真的不錯~,下面分享給大家

總共四步:jar 引入 、控制器引數傳遞  、 html標籤引入 、 Thymeleaf 快取設定


一、相關Jar的引用

1、maven的引用方式:

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

2、我現在的專案是用的Gradle,在build.gradle 裡面的dependency加入以下配置:

compile "org.springframework.boot:spring-boot-starter-thymeleaf"


二、Spring Boot 控制器Controller的配置,需要使用Model來進行引數傳遞(或者自定義Map)

@RequestMapping("/index")
  public String index(Model model) {
    model.addAttribute("loginName", "admin");
    model.addAttribute("loginId", "27");
    return "index";
  }

因為Thymeleaf  預設的檢視返回路徑是 /src/java/resources/templates ,而且預設字尾是.html , 所以我們的頁面檢視就放到templates目錄下


三、頁面檢視的配置

1、在html標籤上引入 Thymeleaf  的標籤庫,然後引數輸出就可以直接使用${}  了

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"> 

例如:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<title>im test page</title>
</head>
<body>
       loginId:<span th:text="${loginId}"></span>
     loginName:<span th:text="${loginName}"></span>
</body>
</html>

最後的輸出結果:


四、Thymeleaf  的快取配置

每次更改頁面,如果不配置Thymeleaf  快取設定為false,那麼每次更改html頁面都需要重啟頁面才重新整理,這肯定是我們不願意的


那麼有一個簡單的辦法,在我們的的基礎配置檔案裡面加入一句配置。 例如我的是application.properties 裡面加入一句:

#Thymeleaf cache set
spring.thymeleaf.cache=false

重啟,配置完成


相關文章