接上篇,一個spring boot框架搭建好以后,我們可以開始寫一些東西了,這時候你是否會想到創建一個jsp文件呢?然后突然發現原來你使用jsp的寫法不管用了,這是因為spring不建議使用jsp來開發web,推薦我們使用Thymeleaf來作為前臺模板引擎來開發web。
Thymeleaf是一個Java模板引擎開發庫,可以處理和生成HTML、XML、JavaScript、CSS和文本,在Web和非Web環境下都可以正常工作。
Thymeleaf可以跟Spring boot很好的集成。
既然是這樣,我們就來配置一下Thymeleaf吧。
很簡單,在pom.xml里面添加Thymeleaf的jar包引用。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
在這里需要注意和下面這個jar包是否沖突的問題。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
因為有的thymeleaf包里已經自帶了web,
image.png
如果你發現你的這個里面有web包,就把外面那個web刪掉,這里沒有的話就不用刪。
resources目錄下的templates目錄是放置前臺文件的,
image.png
在這里新建一個html文件,
然后在controller里新建方法,controller這里要注意一下,注解要用@Controller,
而不是@RestController,因為@RestController返回的是json數據,而不是前臺頁面。
image.png
然后啟動項目,在瀏覽器里輸入http://localhost:8080/測試一下
image.png
模板加載成功。這時候就想到了一個問題,當我修改了模板以后,怎么立即看到修改后的效果呢?不要慌,這就是下面我要說的,把熱部署的功能集成進來。
在pom.xml文件里引入devtools
<!-- 熱部署組件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
然后修改兩處配置。首先是在設置里
Settings-Compiler-Make Project automatically 勾選上
image.png
然后是按快捷鍵(ctrl + shift + alt + /),選擇第一個Registry進入
image.png
進去以后,勾選上
image.png
重啟項目,訪問http://localhost:8080/
image.png
界面是這樣的,我們來把html文件上的字修改一下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Thymeleaf</h1>
<h2>hello world</h2>
</body>
</html>
增加一行文字,然后返回瀏覽器,刷新頁面
image.png
效果出來了,熱部署成功!