如何在Spring Boot中为Freemarker指定多个templateLoaderPath?

时间:2014-10-27 13:58:41

标签: java spring-mvc spring-boot freemarker

我需要在Spring Boot Web应用程序中为FreeMarker指定多个模板加载器路径,但FreeMarkerAutoConfigurationClass只允许我使用spring.freemarker.templateLoaderPath属性指定一个路径,该属性使用setTemplateLoaderPath方法在FreeMarkerConfigurationFactory。但是,这个类允许我使用setTemplateLoaderPaths方法设置多个路径。哪个是覆盖此自动配置类并指定多个加载器路径的最佳方法?我真的不太了解Spring Java配置类,在编写我需要的代码之前我想要一个例子。我正在使用Spring Boot 1.1.2。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您需要提供自己的org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer类型的bean,并提供所需的配置。为此,请将以下类似内容添加到应用程序的Java配置类中:

@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() {
    FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
    configurer.setTemplateLoaderPaths("one", "two", "three");

    // Apply further configuration as needed

    return configurer;
}

更新:最新的Spring Boot 1.2快照现在接受spring.freemarker.templateLoaderPath属性的逗号分隔列表,允许您指定多个路径而不声明自定义FreeMarkerConfigurer bean。