javascript
springboot嵌入thymeleaf后css404_SpringBoot2整合Thymeleaf
前言
什么是Thymeleaf
Thymeleaf是適用于Web和獨立環境的現代服務器端Java模板引擎。
Thymeleaf的主要目標是為您的開發工作流程帶來優雅的自然模板 -HTML可以在瀏覽器中正確顯示,也可以作為靜態原型工作,從而可以在開發團隊中加強協作。
Thymeleaf擁有適用于Spring Framework的模塊,與您喜歡的工具的大量集成以及插入您自己的功能的能力,對于現代HTML5 JVM Web開發而言,Thymeleaf是理想的選擇-盡管它還有很多工作要做。
Thymeleaf和Freemarker對比
Thymeleaf優點:
靜態html嵌入標簽屬性,瀏覽器可以直接打開模板文件,便于前后端聯調。springboot官方推薦方案。
Thymeleaf缺點:
模板必須符合xml規范,就這一點就可以判死刑!太不方便了!js腳本必須加入/*
就上面一條就夠了
Freemarker優點:
1、通用目標
能夠生成各種文本:HTML、XML、RTF、Java源代碼等等
易于嵌入到你的產品中:輕量級:不需要Serve環境
插件式模板載入器:可以從任何源載入模板,如本地文件、數據庫等等
你可以按你所需生成文本:保存到本地文件;作為Ema發送;從Web應用程序發送它返回給Web瀏覽器
2、強大的模板語言
所有常用的指令:include、if/ elseif/else、循環結構
在模板中創建和改變變量
幾乎在任何地方都可以使用復雜表達式來指定值
命名的宏,可以具有位置參數和嵌套內容
名字空間有助于建立和維護可重用的宏庫,或者將一個大工程分成模塊,而不必擔心名字沖突
輸岀轉換塊∶在嵌套模板片段生成輸岀時,轉換HM轉義、壓縮、語法高亮等等;你可以定義自己的轉換
3、通用數據模型
FreeMarker不是直接反射到Java對象,Jva對象通過插件式對象封裝,以變量方式在模板中顯示
你可以使用抽象(接口)方式表示對象( Java bean、XM文檔、sL查詢結果集等等),告訴模板開發者使用方法,使其不受技術細節的打擾
4、為Web準備
在模板語言中內建處理典型Web相關任務(如HTML轉義)的結構
能夠集成到Mode2Web應用框架中作為JsP的
支持JSP標記庫
為MVC模式設計:分離可視化設計和應用程序邏輯;分離頁面設計員和程序員
5、智能的國際化和本地化
字符集智能化(內部使用UNICODE)
數字格式本地化敏感
日期和時間格式本地化敏感
非Us字符集可以用作標識(如變量名)
多種不同語言的相同模板
6、強大的XML處理能力
和指令(2.3版本)用于遞歸遍歷XML樹
Freemarker缺點:
暫時未發現
說明
好像通過上面的對比Thymeleaf好像沒有占多大的便宜,但是也架不住老板說要用Thymeleaf,因此本文還是講解下如何在程序中配置Thymeleaf模板解析引擎
1.添加Thymeleaf的Jar包
編輯pom.xml添加
org.springframework.boot
spring-boot-starter-thymeleaf
如圖:
注:若之前有使用其他模板解析引擎請先刪除下配置
2.配置SpringBoot的application.properties文件
添加
#Thymeleaf配置
# spring.thymeleaf.cache : 是否啟用緩存
# spring.thymeleaf.check-template : 在展示前檢查模板是否存在
# spring.thymeleaf.check-template-location : 檢查模板位置是否存在
# spring.thymeleaf.encoding : 模板文件編碼
# spring.thymeleaf.mode : 模板模式
# spring.thymeleaf.prefix : 模板文件路徑前綴
# spring.thymeleaf.reactive.max-chunk-size : 模板可使用的最大緩沖區
# spring.thymeleaf.servlet.content-type : 模板內容類型
# spring.thymeleaf.suffix : 模板文件后綴
spring.thymeleaf.cache=false
spring.thymeleaf.check-template=true
spring.thymeleaf.check-template-location=true
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.mode=HTML5
spring.thymeleaf.prefix=classpath:/static/views/
spring.thymeleaf.reactive.max-chunk-size=0
spring.thymeleaf.servlet.content-type=text/html
spring.thymeleaf.suffix=.html
如圖:
3.創建HTML模板
在resources/static/views編寫一個Thymeleaf模板的html頁面
新建一個thymeleaf.html
indexhello Thymeleaf
如圖:
4.編寫Controller方法
新建一個ThymeleafController.java
package org.xujun.springboot.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;
@RestController
public class ThymeleafController {
@GetMapping("thymeleaf")
public ModelAndView thymeleaf() {
ModelAndView mv = new ModelAndView();
mv.setViewName("thymeleaf");
return mv;
}
}
如圖:
注:其中mv.setViewName("thymeleaf");中thymeleaf為模板的名字,因為前綴后綴在配置文件中已經配置,所以在此配置模板名字即可
5.測試
運行項目,并且訪問[http://127.0.0.1:8080/thymeleaf]。結果如圖
總結:個人對thymeleaf其實無感,用過一段時間,感覺非常難受。因此還是奔向Freemarker的懷抱。但是對于技術而言,它會改變。因此我們還是要掌握它。本文講解了SpringBoot框架配置thymeleaf,并沒有詳細講解thymeleaf模板的用法。因為這里主要講解Springboot框架。后續的文章會對該模板語法做詳細的講解。
總結
以上是生活随笔為你收集整理的springboot嵌入thymeleaf后css404_SpringBoot2整合Thymeleaf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台安变频器n2按键说明_力扣 925.
- 下一篇: 乡愁是什么仿写句子排比(乡愁是什么)