SpringBoot與Thymeleaf使用入門

2022-06-18 03:30:14 字數 2934 閱讀 3473

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的專案結構之後,還是可以通過一些方法來直接使用前端人員開發的頁面...