摘要:頁面內容展示在之前的示例中,我們都是通過來處理請求,所以返回的內容為對象。啟動程序后,訪問。運行項目,輸入項目地址再次查看頁面顯示內容,內容被替換了。默認情況下,它排第一位。
Web頁面內容展示
在之前的示例中,我們都是通過@RestController來處理請求,所以返回的內容為json對象。我們現在需要實現更復雜的頁面顯示,就需要用到模板引擎來幫我實現了。
Spring Boot默認提供靜態資源目錄位置需置于classpath下,目錄名需符合如下規則:
/static /public /resources /META-INF/resources
例如:我們在src/main/resources/目錄下創建static,并在該位置放置一個圖片文件A.jpg。啟動程序后,訪問http://localhost:8080/A.jpg。如能顯示圖片,則配置成功。
模板引擎在動態HTML實現上Spring Boot依然可以完美勝任,并且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發動態網站。
Spring Boot提供了默認配置的模板引擎主要有以下幾種:
Thymeleaf FreeMarker Velocity Groovy Mustache
在這里我們發現沒有我們曾經最熟悉的JSP,那是因為JSP無法實現Spring Boot的多種特性,如果非要使用JSP,也是可以通過配置進行實現的。后面我們再說。
Thymeleaf是一種簡單且容易上手的模板引擎,我們現在就選擇它來進行具體的介紹吧!
Thymeleaf我們根據上一篇文章新建一個項目,在選擇依賴的時候需要選擇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=“數據”,具體可以看官方說明文檔。
第二,我們需要寫controller來實現頁面的跳轉
@RequestMapping("/index") public String index(ModelMap map){ map.addAttribute("newWorld","WELCOME TO NEW WORLD!!!"); return "index"; }
第三,我們首先打開index.html文件查看顯示的內容。
運行項目,輸入項目地址再次查看頁面顯示內容,內容被替換了。
Thymeleaf的默認參數配置在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 #在構建URL時添加到視圖名稱前的前綴(默認值:classpath:/templates/) spring.thymeleaf.prefix=classpath:/templates/ #在構建URL時添加到視圖名稱后的后綴(默認值:.html) spring.thymeleaf.suffix=.html #Thymeleaf模板解析器在解析器鏈中的順序。默認情況下,它排第一位。順序從1開始,只有在定義了額外的TemplateResolver Bean時才需要設置這個屬性。 spring.thymeleaf.template-resolver-order= #可解析的視圖名稱列表,用逗號分隔 spring.thymeleaf.view-names=
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71708.html
摘要:數據和信息是不可分離的,數據是信息的表達,信息是數據的內涵。數據本身沒有意義,數據只有對實體行為產生影響時才成為信息。主要目標是為開發提供天然的模板,并且能在里面準確的顯示。目前是自然更加推薦。 這是泥瓦匠的第105篇原創 文章工程: JDK 1.8 Maven 3.5.2 Spring Boot 2.1.3.RELEASE 工程名:springboot-webflux-4-thym...
摘要:現在我們就需要說一下我們以前常用的頁面開發了,因為無法實現的多種特性,所以不推薦使用進行頁面開發。頁面開發第一,需要在中添加依賴文件。頁面內容測試頁面第四,正常的書寫方法即可。 上個章節我們講了web頁面開發的Thymeleaf開發。現在我們就需要說一下我們以前常用的JSP頁面開發了,因為JSP無法實現Spring Boot的多種特性,所以Spring Boot不推薦使用JSP進行頁面...
摘要:一個簡單的用戶管理的已經完成,現在我們需要在頁面上展示,方便用戶管理。創建首頁頁面首頁歡迎頁面首頁實戰課程你想學點啥上班摸魚下班充電案例上手本課程是一個系列基礎教程,目標是帶領讀者上手實戰,課程以新版本的核心概念作為主線。 一個簡單的用戶管理的CRUD已經完成,現在我們需要在頁面上展示,方便用戶管理。盡管現在已經流行前后分離開發,但是在一些小公司做的項目并不需要前端開發人員,頁面也是后...
閱讀 3384·2023-04-25 20:37
閱讀 3142·2021-09-07 09:59
閱讀 1665·2019-08-29 12:43
閱讀 1185·2019-08-28 18:27
閱讀 479·2019-08-26 13:50
閱讀 2025·2019-08-26 10:33
閱讀 3591·2019-08-23 18:39
閱讀 2390·2019-08-23 18:09