在学习Spring Boot时,了解到页面推荐采用freemarker的ftl格式文件,好像这玩意比jsp功能强大吧,那我也就学习下这个,毕竟多学总没有坏处。然后在后台跳转前端时浏览器报错Whitelabel Error Page。
看着404很熟悉的样子,不就是文件找不到吗,感觉很简单的问题,然后我仔细检查了下,看了好多遍所学的教程也找不到原因。Java路径映射没问题,ftl模板文件也没问题,看了很多篇博客,找了很多博文总算在一个论坛找到了解决方法,当时给的application.yml配置文件添加很多配置代码。个人有点强迫症嘛,感觉一大串配置文件有点繁杂而且自己不清楚其作用,后来自己改改调调总算找到了一句比较有用的配置,在application.yml中添加如下代码即可解决。
spring:
freemarker:
suffix: .ftl
这个问题严重影响到自己的学习进度,耗费了我很多时间,另一方面网上这方面问题原因挺多,自己也试了好几种但都没解决,因此分享出来希望能帮助更多和我一样初学Spring Boot的同学能更快解决问题。
另外拓展一下,自己在学的教程是Eclipse版,但自己的Eclipse运行Spring Boot有问题,然后自己使用Idea进行测试,经过两天的踩坑下来,意识到使用eclipse和Idea创建的Spring Boot项目还是有些区别的。Idea项目下主要分为java后台代码和resources前端两个部分。resources编译后是classpath,resources下有默认创建的static和templates两个文件夹,static是默认存放静态资源如html,jpg之类,而templates则存放模板文件ftl格式。因此要直接访问页面,需新建html文件而不是ftl文件,放在static下可直接请求而不经过控制器跳转,如下