今天在搭建 Spring Boot 和 Free Marker 联动的时候发现会出现一个叫 Cannot resolve MVC View ... 的错误,提示我找不到这个 view 。奇怪了为什么其他的人能成功,我这个就成功不了。

原来 Free Marker 默认的后缀为 .ftlh 难怪找不到呢,这是 FreeMarkerProperties 下的一部分代码

public class FreeMarkerProperties extends AbstractTemplateViewResolverProperties {
    public static final String DEFAULT_TEMPLATE_LOADER_PATH = "classpath:/templates/";
    public static final String DEFAULT_PREFIX = "";
    public static final String DEFAULT_SUFFIX = ".ftlh";
...

仔细看 DEFAULT_SUFFIX 代码,这就很明白了。所以要在 Spring Boot 的 application.properties 中配置 suffix

spring.freemarker.suffix=.ftl

可以正常返回了。

完美解决!