问题描述

在项目完整加载了 freemarker 模板依赖之后访问 web 资源路径返回 404

问题解决

  • 方法 1:在配置文件中添加属性 spring.freemarker.suffix=.ftl
  • 方法 2:修改 ftl 模板文件的拓展名为 ftlh

问题产生原因

从 springboot2.2.0 开始 freemarker 模板默认拓展名改为.ftlh,所以我使用 ftl 拓展名自然找不到。
相关源码片段:

public static final String DEFAULT_TEMPLATE_LOADER_PATH = "classpath:/templates/";
    public static final String DEFAULT_PREFIX = "";
    public static final String DEFAULT_SUFFIX = ".ftlh";
    private Map<String, String> settings = new HashMap();
    private String[] templateLoaderPath = new String[]{"classpath:/templates/"};
....