Thymeleaf 模板 在spring boot 中的引用和應用


Thymeleaf是一個java類庫,他是一個xml/xhtml/html5的模板引擎和Struts框架的freemarker模板類似,可以作為mvc的web應用的view層。 Thymeleaf還提供了額外的模塊與Spring MVC集成,所以我們可以使用Thymeleaf完全替代jsp。 spring Boot 通過org.springframework.boot.autoconfigure.thymeleaf包對Thymeleaf進行了自動配置。 通過ThymeleafAutoConfiguration類對集成所需要的bean進行自動配置。包括templateResolver,templateEngine,thymeleafViewResolver的配置。

1.pom.xml中添加

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

自動下載thymeleaf的jar包,然后update Project.

2.application.properties中添加thymeleaf配置文件

#Thymeleaf
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
# ;charset=<encoding> is added
#spring.thymeleaf.content-type=text/html
#set to false for hot refresh
spring.thymeleaf.cache=false 

3.之后寫一個測試

a.在項目目錄下找src/main/resources/templates新建一個dome.html測試網頁,注意要在頭部引用

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"  
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">  ,不然找不到網頁。
<!DOCTYPE html>  
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"  
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">  
    <head>  
        <title th:text="${title}"></title>  
    </head>  
    <body>    
        <p th:text="${gr}"></p>  
    </body>  
</html>  

b.寫測試controller層Thymeleaf.class類

package com.hxzy.myblog.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Thymeleaf {
     @RequestMapping("/hi")
     public String helloHtml(Model model){ 
         model.addAttribute("title","Thymeleaf");
         model.addAttribute("gr","大家好");
         return "dome";
     }
}

4.總結:

1.注意html中標簽必須嚴格閉合

2.html中一對標簽中使用thymeleaf,用th:text="${title}",title就加在標簽內,如

<title th:text="${title}"></title> 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM