1. 程式人生 > >Springboot整合Thymeleaf開發測試

Springboot整合Thymeleaf開發測試

  1. 第一步:在Maven中引入Thymeleaf的依賴,加入以下依賴配置即可:
<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-thymeleaf</artifactId>
 		</dependency>
  1. 第二步:在Spring boot的核心配置檔案application.properties中對Thymeleaf進行配置:
    #開發階段,建議關閉thymeleaf的快取
    spring.thymeleaf.cache=false
    #使用遺留的html5以去掉對html標籤的校驗
    spring.thymeleaf.mode=LEGACYHTML5
    在使用springboot的過程中,如果使用thymeleaf作為模板檔案,則要求HTML格式必須為嚴格的html5格式,必須有結束標籤,否則會報錯;如果不想對標籤進行嚴格的驗證,使用spring.thymeleaf.mode=LEGACYHTML5去掉驗證。去掉驗證,則需要引入如下依賴,否則會報錯(Springboot2.0+版本可不引入以下依賴):
<dependency>
		<groupId>net.sourceforge.nekohtml</groupId>
		<artifactId>nekohtml</artifactId>
	</dependency>
	<dependency>
		<groupId>org.unbescape</groupId>
		<artifactId>unbescape</artifactId>
		<version>1.1.5RELEASE</version>
	</dependency>

NekoHTML是一個Java語言的HTML掃描器和標籤補全器,這個解析器能夠掃描HTML檔案並“修正”HTML文件中的常見錯誤。
NekoHTML能增補確實的父元素,自動用結束標籤關閉相應的元素,修改不匹配的內嵌標籤等;
3. 第三步:寫一個Controller去對映到模板頁面(和SpringMVC基本一致),比如:

@RequestMapping("/index")
 	public String index(Model model){
		model.addAttribute("data","恭喜,Spring boot 整合Thymeleaf成功!");
		//return 中就是頁面的名字(不帶html字尾)
		return "index";
	}
  • 第四步:在src/main/resources的templates下新建一個index.html頁面用於展示資料:
    HTML頁面的元素中加入以下屬性:
<html xmlns:th="http://www.thymeleaf.org">

HTML頁面

<!DOCTYPE html>
	<html xmlns:th="http://www.thymeleaf.org">
		<head>
			<meta charset="UTF-8"/>
			<title>Springboot整合Thymeleaf</title>
		</head>
		<body>
			<p th:text="${data}">Springboot整合Thymeleaf</p>
		</body>
	</html>
  • Springboot使用Thymeleaf作為檢視展示,約定將模板檔案放置在src/main/resource/templates目錄下,靜態資源放置在src/main/resource/static目錄下