SpringBoot整合Freemarker模板引擎遇到的(坑)


添加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的縮寫了

  修改后綴名

 

 

 

訪問成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM