Thymeleaf 是一個跟 Velocity、FreeMarker 相似的模板引擎,它能夠徹底替代 JSP 。相較與其餘的模板引擎,它有以下三個極吸引人的特色:css
在SpringBoot中集成Thymeleaf構建Web應用步驟:html
pom依賴:jquery
1 <dependencies> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-starter-web</artifactId> 5 <exclusions> 6 <exclusion> 7 <groupId>org.springframework.boot</groupId> 8 <artifactId>spring-boot-starter-tomcat</artifactId> 9 </exclusion> 10 </exclusions> 11 </dependency> 12 <dependency> 13 <groupId>org.springframework.boot</groupId> 14 <artifactId>spring-boot-starter-jetty</artifactId> 15 </dependency> 16 17 <dependency> 18 <groupId>org.springframework.boot</groupId> 19 <artifactId>spring-boot-starter-test</artifactId> 20 <scope>test</scope> 21 </dependency> 22 <dependency> 23 <groupId>org.springframework.boot</groupId> 24 <artifactId>spring-boot-starter-thymeleaf</artifactId> 25 </dependency> 26 </dependencies>
Spring Boot默認提供靜態資源目錄位置需置於classpath下,目錄名需符合以下規則:程序員
舉例:咱們能夠在src/main/resources/
目錄下建立static,在該位置放置一個圖片文件pic.jpg
。 啓動程序後,嘗試訪問http://localhost:8080/pic.jpg
。如能顯示圖片,配置成功。web
SpringBoot的默認模板路徑爲:src/main/resources/templates
spring
在src/main/resources/templates
下面添加一個index.html
首頁,同時引用到一些css、js文件,看看Thymeleaf 3的語法:bootstrap
1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml" 3 xmlns:th="http://www.thymeleaf.org"> 4 <head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta name="renderer" content="webkit"> 8 <title>首頁</title> 9 <link rel="shortcut icon" th:href="@{/favicon.ico}"/> 10 <link th:href="@{/static/css/bootstrap.min.css}" rel="stylesheet"/> 11 <link th:href="@{/static/css/font-awesome.min.css}" rel="stylesheet"/> 12 </head> 13 <body class="fixed-sidebar full-height-layout gray-bg" style="overflow:hidden"> 14 <div id="wrapper"> 15 <h1 th:text="${msg}"></h1> 16 </div> 17 <script th:src="@{/static/js/jquery.min.js}"></script> 18 <script th:src="@{/static/js/bootstrap.min.js}"></script> 19 20 </body> 21 </html>
說明:瀏覽器
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
加上這個命名空間後就能在頁面中使用Thymeleaf本身的標籤了,以th:
開頭。tomcat
鏈接語法 th:href="@{/static/css/bootstrap.min.css}"
服務器
訪問Model中的數據語法 th:text="${msg}"
在頁面裏顯示的是一個鍵爲msg
的消息,須要後臺傳遞過來。
接下來編寫控制器類,將URL /
和 /index
都返回index.html頁面:
1 @Controller 2 public class IndexController { 3 4 private static final Logger _logger = LoggerFactory.getLogger(IndexController.class); 5 6 /** 7 * 主頁 8 * 9 * @param model 10 * @return 11 */ 12 @RequestMapping({"/", "/index"}) 13 public String index(Model model) { 14 model.addAttribute("msg", "welcome you!"); 15 return "index"; 16 } 17 18 }
在model裏面添加了一個屬性,key=msg
,值爲welcome you!
。
接下來啓動應用後,打開首頁看看效果如何。消息正確顯示,成功!。