gpt4 book ai didi

spring-boot - 如何将 spring.freemarker.template-loader-path 指向依赖项 jar 中的模板?

转载 作者:行者123 更新时间:2023-12-04 02:50:08 30 4
gpt4 key购买 nike

我有2个项目。一个项目 (A) 包含我所有的核心功能,例如我的实体/服务/daos 等。它还包含许多我希望在我的另一个项目 (B) 中利用和重用的 .ftl 模板。我已经成功地让 (B) 使用了 (A) 中的类,但我没有成功重用 freemarker 模板。

项目 (B) 是一个 Spring Boot 应用程序 (v2.1.3),所以我认为我使用 application.property 是正确的:spring.freemarker.template-loader-path而不是定义一个新的 @Bean .

由于是 spring-boot 应用程序,默认情况下,如果没有此属性,项目将查看项目自己的 src/main/resources/templates location 但我的目标是让项目 (A) 没有自己的模板,让我的 Controller 返回在项目 (B) 中找到的模板。

在我的 Maven 依赖项中,层次结构是这样的:

projectA-0.0.1.jar
templates
folder1
exampleA.ftl
folder2
exampleB.ftl

目前我的 Controller 设置为返回类似 return new ModelAndView("folder1/exampleA") 的内容。其中上下文前缀是 src/main/resources/templates/

有谁知道我需要给 spring.freemarker.template-loader-path 的值的正确格式吗?属性以便指向我的依赖 jar 中的模板而不是本地 src/main/resources/templates?

最佳答案

所以spring.freemarker.template-loader-path= 类路径:/模板/是我原来问题的答案,但它并没有解决我的问题。

添加以下内容 @Bean我的配置类做到了,归功于@ddekany
@Bean
public FreeMarkerConfigurationFactoryBean getFreeMarkerConfiguration() {
FreeMarkerConfigurationFactoryBean bean = new FreeMarkerConfigurationFactoryBean();
bean.setTemplateLoaderPath("classpath:/templates/");
return bean;
}

会出现,虽然我可以使用属性,由于其他因素 a @Bean在我的场景中是必需的。

关于spring-boot - 如何将 spring.freemarker.template-loader-path 指向依赖项 jar 中的模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55421127/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com