解決Springboot項(xiàng)目打包后的頁(yè)面丟失問(wèn)題(thymeleaf報(bào)錯(cuò))
Springboot項(xiàng)目打包后的頁(yè)面丟失
遇到的問(wèn)題目前找到兩種
- 返回視圖路徑以/開(kāi)頭,例如 /test/hello
- 在thymeleaf頁(yè)面中,引入的頁(yè)面以/開(kāi)頭,例如:<footer th:replace="/index::footer"></footer>
代碼書寫規(guī)范:
@GetMapping("/about-us") public String sysInfo(){ return "students/about-us"; }
錯(cuò)誤寫法:(不要在前面加入"/")
return "/students/about-us";
引入公共模板時(shí),也不要加''/'
正確寫法:
<header th:replace="main/sys-public :: stu-header"></header>
總結(jié):在代碼編寫的過(guò)程中,要注意規(guī)范書寫習(xí)慣,避免不必要的問(wèn)題發(fā)生。
Springboot打包ThymeLeaf報(bào)錯(cuò)
開(kāi)發(fā)環(huán)境
- Spring Boot 2.0.2
- Thymeleaf 3.0.9
現(xiàn)象
Boot 打包啟動(dòng)后報(bào)如下錯(cuò)
org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/login", template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:870) ~[thymeleaf-3.0.9.RELEASE.jar!/:3.0.9.RELEASE] at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.0.9.RELEASE.jar!/:3.0.9.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) [thymeleaf-3.0.9.RELEASE.jar!/:3.0.9.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) [thymeleaf-3.0.9.RELEASE.jar!/:3.0.9.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:354) [thymeleaf-spring5-3.0.9.RELEASE.jar!/:3.0.9.RELEASE] ...
判斷為模板視圖跳轉(zhuǎn)錯(cuò)誤
原因
配置文件錯(cuò)誤,模板讀取路徑錯(cuò)誤
解決辦法
修改ThymeLeaf配置
具體操作
增加紅色的部分
thymeleaf: mode: HTML cache: false prefix: classpath:/templates
<!--公共模板引用 --> <head th:include="/template/head :: tableHeader"></head>
/** * 頁(yè)面路由 * @param pageName 頁(yè)面名稱 * @param model 基礎(chǔ)model綁定常用值 * @return */ @ApiOperation(value = "請(qǐng)求頁(yè)面",notes = "獲取頁(yè)面") @GetMapping(value = "/page/{pageName}") public String page(@PathVariable @ApiParam("頁(yè)面名稱")String pageName, @ApiIgnore Model model){ initDefaultModel(model); String page = pageConfig.getPageMap().get(pageName); if(page == null){ return "/404"; } return page; }
開(kāi)發(fā)環(huán)境中遺漏可以正常啟動(dòng)跳轉(zhuǎn),打包后文件結(jié)構(gòu)產(chǎn)生變化需要指定。
參考文檔
Spring Boot gives “TemplateInputException: Error resolving template” when running from jar
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中string和int的互相轉(zhuǎn)換問(wèn)題
本文通過(guò)實(shí)例代碼給大家詳細(xì)介紹了Java中string和int的互相轉(zhuǎn)換問(wèn)題,感興趣的朋友一起看看吧2017-10-10Spring Cache擴(kuò)展功能實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Spring Cache擴(kuò)展功能實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02SpringCloud HystrixDashboard服務(wù)監(jiān)控詳解
Hystrix Dashboard 是Spring Cloud中查看Hystrix實(shí)例執(zhí)行情況的一種儀表盤組件,支持查看單個(gè)實(shí)例和查看集群實(shí)例,本文將對(duì)其服務(wù)監(jiān)控學(xué)習(xí)2022-11-11Java9新特性Java.util.Optional優(yōu)化與增強(qiáng)解析
這篇文章主要為大家介紹了Java9新特性Java.util.Optional優(yōu)化與增強(qiáng)使用說(shuō)明解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03MyBatis?核心組件Configuration實(shí)例詳解
Configuration用于描述 MyBatis 的主配置信息,其他組件需要獲取配置信息時(shí),直接通過(guò) Configuration 對(duì)象獲取,這篇文章主要介紹了MyBatis核心組件Configuration,需要的朋友可以參考下2023-08-08