摘要:頁面內(nèi)容展示在之前的示例中,我們都是通過來處理請求,所以返回的內(nèi)容為對象。啟動程序后,訪問。運行項目,輸入項目地址再次查看頁面顯示內(nèi)容,內(nèi)容被替換了。默認情況下,它排第一位。
Web頁面內(nèi)容展示
在之前的示例中,我們都是通過@RestController來處理請求,所以返回的內(nèi)容為json對象。我們現(xiàn)在需要實現(xiàn)更復雜的頁面顯示,就需要用到模板引擎來幫我實現(xiàn)了。
Spring Boot默認提供靜態(tài)資源目錄位置需置于classpath下,目錄名需符合如下規(guī)則:
/static /public /resources /META-INF/resources
例如:我們在src/main/resources/目錄下創(chuàng)建static,并在該位置放置一個圖片文件A.jpg。啟動程序后,訪問http://localhost:8080/A.jpg。如能顯示圖片,則配置成功。
模板引擎在動態(tài)HTML實現(xiàn)上Spring Boot依然可以完美勝任,并且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發(fā)動態(tài)網(wǎng)站。
Spring Boot提供了默認配置的模板引擎主要有以下幾種:
Thymeleaf FreeMarker Velocity Groovy Mustache
在這里我們發(fā)現(xiàn)沒有我們曾經(jīng)最熟悉的JSP,那是因為JSP無法實現(xiàn)Spring Boot的多種特性,如果非要使用JSP,也是可以通過配置進行實現(xiàn)的。后面我們再說。
Thymeleaf是一種簡單且容易上手的模板引擎,我們現(xiàn)在就選擇它來進行具體的介紹吧!
Thymeleaf我們根據(jù)上一篇文章新建一個項目,在選擇依賴的時候需要選擇Web和Thymeleaf即可。
打開pom.xml文件我們可以看到引入的依賴。
org.springframework.boot spring-boot-starter-thymeleaf org.springframework.boot spring-boot-starter-web
在Spring Boot中使用Thymeleaf,只需要引入上面的依賴,并在默認的模板路徑src/main/resources/templates下編寫模板文件即可完成。
下面我們來簡單的寫一個示例:
第一,我們先在src/main/resources/templates這個目錄下面添加一個index.html的HTML文件。
測試頁面 Hello World
注意:如果想要使用模板引擎的話,就需要在頁面引用thymeleaf語法空間。就是xmlns:th="http://www.thymeleaf.org",thymeleaf的語法就是th:xxxx=“數(shù)據(jù)”,具體可以看官方說明文檔。
第二,我們需要寫controller來實現(xiàn)頁面的跳轉(zhuǎn)
@RequestMapping("/index") public String index(ModelMap map){ map.addAttribute("newWorld","WELCOME TO NEW WORLD!!!"); return "index"; }
第三,我們首先打開index.html文件查看顯示的內(nèi)容。
運行項目,輸入項目地址再次查看頁面顯示內(nèi)容,內(nèi)容被替換了。
Thymeleaf的默認參數(shù)配置在application.yml中可以配置thymeleaf模板解析器屬性
# THYMELEAF (ThymeleafAutoConfiguration) #開啟模板緩存(默認值:true) spring.thymeleaf.cache=true #Check that the template exists before rendering it. spring.thymeleaf.check-template=true #檢查模板位置是否正確(默認值:true) spring.thymeleaf.check-template-location=true #Content-Type的值(默認值:text/html) spring.thymeleaf.content-type=text/html #開啟MVC Thymeleaf視圖解析(默認值:true) spring.thymeleaf.enabled=true #模板編碼 spring.thymeleaf.encoding=UTF-8 #要被排除在解析之外的視圖名稱列表,用逗號分隔 spring.thymeleaf.excluded-view-names= #要運用于模板之上的模板模式。另見StandardTemplate-ModeHandlers(默認值:HTML5) spring.thymeleaf.mode=HTML5 #在構(gòu)建URL時添加到視圖名稱前的前綴(默認值:classpath:/templates/) spring.thymeleaf.prefix=classpath:/templates/ #在構(gòu)建URL時添加到視圖名稱后的后綴(默認值:.html) spring.thymeleaf.suffix=.html #Thymeleaf模板解析器在解析器鏈中的順序。默認情況下,它排第一位。順序從1開始,只有在定義了額外的TemplateResolver Bean時才需要設置這個屬性。 spring.thymeleaf.template-resolver-order= #可解析的視圖名稱列表,用逗號分隔 spring.thymeleaf.view-names=
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/71708.html
摘要:數(shù)據(jù)和信息是不可分離的,數(shù)據(jù)是信息的表達,信息是數(shù)據(jù)的內(nèi)涵。數(shù)據(jù)本身沒有意義,數(shù)據(jù)只有對實體行為產(chǎn)生影響時才成為信息。主要目標是為開發(fā)提供天然的模板,并且能在里面準確的顯示。目前是自然更加推薦。 這是泥瓦匠的第105篇原創(chuàng) 文章工程: JDK 1.8 Maven 3.5.2 Spring Boot 2.1.3.RELEASE 工程名:springboot-webflux-4-thym...
摘要:現(xiàn)在我們就需要說一下我們以前常用的頁面開發(fā)了,因為無法實現(xiàn)的多種特性,所以不推薦使用進行頁面開發(fā)。頁面開發(fā)第一,需要在中添加依賴文件。頁面內(nèi)容測試頁面第四,正常的書寫方法即可。 上個章節(jié)我們講了web頁面開發(fā)的Thymeleaf開發(fā)。現(xiàn)在我們就需要說一下我們以前常用的JSP頁面開發(fā)了,因為JSP無法實現(xiàn)Spring Boot的多種特性,所以Spring Boot不推薦使用JSP進行頁面...
摘要:一個簡單的用戶管理的已經(jīng)完成,現(xiàn)在我們需要在頁面上展示,方便用戶管理。創(chuàng)建首頁頁面首頁歡迎頁面首頁實戰(zhàn)課程你想學點啥上班摸魚下班充電案例上手本課程是一個系列基礎教程,目標是帶領讀者上手實戰(zhàn),課程以新版本的核心概念作為主線。 一個簡單的用戶管理的CRUD已經(jīng)完成,現(xiàn)在我們需要在頁面上展示,方便用戶管理。盡管現(xiàn)在已經(jīng)流行前后分離開發(fā),但是在一些小公司做的項目并不需要前端開發(fā)人員,頁面也是后...
閱讀 3523·2023-04-25 20:37
閱讀 3208·2021-09-07 09:59
閱讀 1729·2019-08-29 12:43
閱讀 1241·2019-08-28 18:27
閱讀 532·2019-08-26 13:50
閱讀 2216·2019-08-26 10:33
閱讀 3660·2019-08-23 18:39
閱讀 2463·2019-08-23 18:09