freemarker跳转templates目录下模板报错404、500的问题解决记录

问题提出

一个SpringBoot项目中,用到了freemarker,如下:
01 用到了ModelAndView

用到了ModelAndView,这个数据结构长这个样子:
02 ModelAndView

model中存放着返回的Map<>数据。

这是我想返回的视图模板,存放在templates目录下面:
03 视图模板内容很简单

但是,运行之后访问这个接口,response报错提示:
04 原报错提示

05 报错提示翻译成中文

问题探索

首先要了解freemarker的概念:freemarker简介

1.查看是否引入依赖,依赖引入是否正确

有两个依赖,一个叫freemarker,一个叫spring-boot-starter-freemarker,根据项目是否为SpringBoot项目来引入。博主的项目是spring-boot-starter-freemarker,却引入了freemarker,因此排查了好久。

freemarker的依赖:

<!-- 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的依赖:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

可以前往Maven Repository,搜索freemarker,了解更详细的情况:Maven Repository

06 freemarker检索结果

2. 查看模板的后缀名和SpringBoot的版本

本条问题解决方案来源:SpringBoot2.2.X用Freemarker出现404

SpringBoot在2.2.X中,已经把原先默认的后缀名.ftl改成了.ftlh,如果想继续保持以前的.ftl后缀名,需要在配置文件application.yml中配置一下(或application.properties,修改一下排版格式):

spring:
  freemarker:
    suffix: .ftl
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JellyfishMIX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值