一个SpringBoot项目中,用到了freemarker,以下:spring
用到了ModelAndView,这个数据结构长这个样子:数据结构
model中存放着返回的Map<>数据。app
这是我想返回的视图模版,存放在templates目录下面:spring-boot
可是,运行以后访问这个接口,response报错提示:spa
首先要了解freemarker的概念:freemarker简介.net
有两个依赖,一个叫freemarker,一个叫spring-boot-starter-freemarker,根据项目是否为SpringBoot项目来引入。博主的项目是spring-boot-starter-freemarker,却引入了freemarker,所以排查了很久。翻译
freemarker的依赖:code
<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency>
spring-boot-starter-freemarker的依赖:blog
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
能够前往Maven Repository,搜索freemarker,了解更详细的状况:Maven Repository接口
本条问题解决方案来源:SpringBoot2.2.X用Freemarker出现404
SpringBoot在2.2.X中,已经把原先默认的后缀名.ftl改为了.ftlh,若是想继续保持之前的.ftl后缀名,须要在配置文件application.yml中配置一下(或application.properties,修改一下排版格式):
spring: freemarker: suffix: .ftl