问题说明
spring boot 2.1.5集成freemarker时跳转报404!
集成过程说明
- pom.xml
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- application.yml
server:
port: 8080
spring:
freemarker:
suffix: .ftl
- controller
@Controller
public class IndexController {
@GetMapping("/test1")
public String index(){
return "index";
}
}
- templates目录下创建index.ftl
<h1>index</h1>
问题原因
spring boot项目单独依赖freemarker是不够的,还需要:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>5.1.7.RELEASE</version>
<scope>compile</scope>
</dependency>
解决问题
spring boot项目请使用:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
其他可能原因
1.配置文件没有添加ftl配置
spring:
freemarker:
suffix: .ftl