Spring Boot默認提供靜態資源目錄位置需置于classpath下,目錄名需符合如下規則:
舉例:我們可以在src/main/resources/
目錄下創建static
,在該位置放置一個圖片文件。啟動程序后,
springboot依賴太復雜了、嘗試訪問http://localhost:8080/test.jpg
。如能顯示圖片,配置成功。
在之前的示例中,我們都是通過@RestController來處理請求,所以返回的內容為json對象。那么如果需要渲染html頁面的時候,我們可以使用模板。
在動態HTML實現上Spring Boot依然可以完美勝任,并且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發動態網站。
Spring Boot提供了默認配置的模板引擎主要有以下幾種:
Spring Boot建議使用這些模板引擎,避免使用JSP,若一定要使用JSP將無法實現Spring Boot的多種特性。
當你使用上述模板引擎中的任何一個,它們默認的模板配置路徑為:src/main/resources/templates
主頁面
maven依賴本地jar包、我們可以先寫一個主頁面,然后再里面給他分配幾個模板頁面;
Thymeleaf是一個XML/XHTML/HTML5模板引擎,可用于Web與非Web環境中的應用開發。它是一個開源的Java庫,基于Apache License 2.0許可,由Daniel Fernández創建,該作者還是Java加密庫Jasypt的作者。
Thymeleaf提供了一個用于整合Spring MVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在于提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與HTML模板。相對于編寫邏輯或代碼,開發者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型)上執行預先制定好的邏輯。
編寫HTML代碼,我們把HTML放入到
可以看到Thymeleaf主要以屬性的方式加入到html標簽中,瀏覽器在解析html時,當檢查到沒有的屬性時候會忽略,所以Thymeleaf的模板可以通過瀏覽器直接打開展現,這樣非常有利于前后端的分離。
在Spring Boot中使用Thymeleaf,只需要引入下面依賴,并在默認的模板路徑src/main/resources/templates
下編寫模板文件即可完成
?????? FreeMarker是一款模板引擎: 即一種基于模板和要改變的數據,???并用來生成輸出文本(HTML網頁、電子郵件、配置文件、源代碼等)的通用工具。???????它不是面向最終用戶的,而是一個Java類庫,是一款程序員可以嵌入他們所開發產品的組件。
@SpringBootApplication、這里我們把FreeMarker,Velocity,Groovy都引入進來,這里教大家一個簡單辦法。對準項目的pom文件,點擊右鍵,選擇edit spring。
編寫模板文件index.ftl;
Maven依賴?編寫一個index.ftl文件,此文件的路徑在src/main/resources/templates/freeMarker下,其中index.ftl文件的內容如下:
Springboot教程、其實這幾個模板都大同小異,Controller層基本不需要怎么變化,唯一需要變化只是模板的顯示方式而已。
Velocity的支持已經移除,導致視圖一直報錯,之前知道Spring4.3廢棄了Velocity,@deprecated as of?spring?4.3, in favor of FreeMarker,所以以為Springboot也只是deprecated ,誰曾想居然remove掉了。
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes
Classes, methods and properties that were deprecated in Spring Boot 1.4 have been removed in this release. Please ensure that you aren’t calling deprecated methods before upgrading. In particular, the HornetQ and Velocity support have been removed.
資源下載頁:http://download.csdn.net/detail/liaodehong/9921032版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态