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