thymeleaf 是乙個跟 velocity、freemarker 類似的模板引擎,它可以完全替代 jsp 。
與springboot完美整合,springboot提供了thymeleaf的預設配置,並且為thymeleaf設定了視**析器,我們可以像以前操作jsp一樣來操作thymeleaf。**幾乎沒有任何區別,就是在模板語法上有區別。
1.編寫乙個controller方法,返回一些使用者資料,放入模型中,將來在頁面渲染
public
string all(modelmap model)
2.引入thymeleaf啟動器:
<dependency
>
<
groupid
>org.springframework.boot
groupid
>
<
artifactid
>spring-boot-starter-thymeleaf
artifactid
>
dependency
>
springboot會自動為thymeleaf註冊乙個視**析器: thymeleafviewresolver
與解析jsp的internalviewresolver類似,thymeleaf也會根據字首和字尾來確定模板檔案的位置:
所以如果我們返回檢視:users
,會指向到classpath:/templates/users.html
3.靜態頁面編寫users.html
doctype html
>
<
html
xmlns:th
="">
<
head
>
<
meta
charset
="utf-8"
>
<
title
>首頁
title
>
<
style
type
="text/css"
>
table
table, th, td
style
>
head
>
<
body
>
<
div
style
="text-align: center"
>
<
span
style
="color: darkslategray; font-size: 30px"
>hello world!
span
>
<
hr/>
<
table
class
="list"
>
<
tr>
<
th>id
th>
<
th>姓名
th>
<
th>使用者名稱
th>
<
th>年齡
th>
<
th>性別
th>
<
th>生日
th>
tr>
<
tr th:each
="user : $"
>
<
td th:text
="$"
>1
td>
<
td th:text
="$"
>小明
td>
<
td th:text
="$"
>xiaoming
td>
<
td th:text
="$"
>23
td>
<
td th:text
="$"
>男
td>
<
td th:text
="$"
>1999-02-30
td>
tr>
table
>
div>
body
>
html
>
使用了以下語法:
測試thymeleaf會在第一次對模板解析之後進行快取,修改頁面後並不會立刻看到效果,開發階段可以關掉快取使用:
# 開發階段關閉thymeleaf的模板快取spring.thymeleaf.cache=false
注意:在idea中,我們需要在修改頁面後按快捷鍵:`ctrl + shift + f9` 對專案進行rebuild才可以。
另外還需要注意的是
springboot載入templates下html列印的是返回的字串,而不是頁面內容,
錯誤原因:是因為在controller類中使用了@restcontroller
註解(補充 : 如果加上註解@responsebody
也會出現相同情況)
解決辦法:將@restcontroller
改為@controller
在訪問就可以了
錯誤原因:是因為在controller類中使用了@restcontroller
註解(補充 : 如果加上註解@responsebody
也會出現相同情況)
解決辦法:將@restcontroller
改為@controller
在訪問就可以了
SpringBoot與SpringCloud的區別
1 spring boot 是 spring 的一套快速配置腳手架,可以基於spring boot 快速開發單個微服務 spring cloud是乙個基於spring boot實現的雲應用開發工具 2 spring boot專注於快速 方便整合的單個個體,spring cloud是關注全域性的服務治...
Activiti與SpringBoot專案整合
org.activiti activiti spring boot starter basic 5.21.0 配置 org.activiti.spring.springprocessengineconfiguration類注入資料來源和事務模板管理事務 configuration public cl...
Spring Boot與前端配合與Idea配置部署
在開發專案時,後台人員可能來不及寫html頁面,這個時候需要相互配合。前端人員開發專案都有自己的一套專案結構,而spring boot或後台人員也有自己的一套專案結構,導致寫出的靜態頁面無法直接拿過來就用。在研究了spring boot的專案結構之後,還是可以通過一些方法來直接使用前端人員開發的頁面...