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

标签 java spring-mvc spring-boot freemarker

我需要在 Spring Boot Web 应用程序中为 FreeMarker 指定多个模板加载器路径,但 FreeMarkerAutoConfigurationClass只让我使用 spring.freemarker.templateLoaderPath 指定一个路径属性,它使用 FreeMarkerConfigurationFactory 中的 setTemplateLoaderPath 方法。但是,此类允许我使用 setTemplateLoaderPaths 方法设置多个路径。覆盖此自动配置类并指定多个加载器路径的最佳方法是什么?我不太了解 Spring Java 配置类,在编写我需要的代码之前我想要一个示例。我正在使用 Spring Boot 1.1.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 。

关于java - 如何在 Spring Boot 中为 Freemarker 指定多个 templateLoaderPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26589229/

相关文章:

java - Controller 和过滤器已初始化但未被调用

java - 当有两个用@Qualifier定义的候选者时,Spring如何决定注入(inject)哪个bean?

Java 11 : Execution default-compile of goal org. apache.maven.plugins :maven-compiler-plugin:3. 8.0 :compile failed.:NullPointerException

java - 从架构中检索根元素

java - 绝对 uri : http://www. springframework.org/tags 无法在 web.xml 或使用此应用程序部署的 jar 文件中解析

java - 在 Java/Spring 中将 HTML 作为附件发送

java - 由于已经存在根应用程序上下文而无法初始化上下文,在 tomcat 中部署 war 失败

java - Spring Logging 添加到 System.out 但不添加到文件 (log4j)

java - 如何使 ThreadPoolExecutor 具有无限队列,并且不会拒绝或超时队列中的任何任务

java - 让 Swing JSplitPane 支持一键调整大小,但不支持拖动