添加Freemarker場景啟動器
pom文件引入:
<!-- 引入freeMarker的依賴包. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
編寫控制層代碼
注意:這里需要使用Controller,而不能使用RestController,因為我們要控制頁面的跳轉
編寫模板
在resource目錄下,存在創建SpringBoot項目之后,自動創建的templates文件夾,這個文件夾就是用於存放模板引擎的
在templates下創建Freemarker.ftl文件 后綴名就是FreemarkerTemplate的縮寫
目錄結構:
啟動項目測試及其問題解決
啟動后訪問地址
並沒有想象中的順利,視屏中直接就成功了,我的自然是報錯了
第一次報錯
是,404,應該是緩存的原因,執行Maven的Clear命令后重新運行
第二次報錯
是,500
報錯內容
javax.servlet.ServletException: Circular view path [freemarker]: would dispatch back to the current handler URL [/freemarker] again.
Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
在網上找了好多,都是提示讓我把@Controller改成@RestController的,但是這顯然不是我想要的,因為我要控制頁面的跳轉
解決方案:
終於在一位大佬的提示下,去看了一下SpringBoot的自動裝配關於FreeMarker的源碼
發現,tm...后綴被改成了.ftlh,最終得出了結果,應該是我用的SpringBoot的版本比較新,所以FreeMarker的后綴變了,應該是改為了FreemarkerTemplateHtml的縮寫了
修改后綴名
訪問成功