最近項目用到了spring boot ,但是在控制器返回html視圖并渲染參數的時候,存在了疑問。后面考慮用thymeleaf
,感覺真的不錯,下面分享給大家
總共四步:
- jar 引入
- 控制器參數傳遞
- html標簽引入
- thymeleaf 緩存設置
一、相關jar的引用
1、maven的引用方式:
1
2
3
4
|
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-thymeleaf</artifactid> </dependency> |
2、我現在的項目是用的gradle,在build.gradle 里面的dependency加入以下配置:
1
|
compile "org.springframework.boot:spring-boot-starter-thymeleaf" |
二、spring boot 控制器controller的配置,需要使用model來進行參數傳遞(或者自定義map)
1
2
3
4
5
6
|
@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 的標簽庫,然后參數輸出就可以直接使用${} 了
1
2
|
<html xmlns= "http://www.w3.org/1999/xhtml" xmlns:th= "http://www.thymeleaf.org" xmlns:layout= "http://www.ultraq.net.nz/thymeleaf/layout" > |
例如:
1
2
3
4
5
6
7
8
9
10
11
12
|
<!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 里面加入一句:
1
2
|
#thymeleaf cache set spring.thymeleaf.cache= false |
重啟,配置完成
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
原文鏈接:http://www.cnblogs.com/f-anything/p/10082637.html