【发布时间】:2018-02-08 00:25:54
【问题描述】:
我有一个 Spring Boot Web 应用程序。我使用 Freemarker 作为我的 ViewResolver,并通过 java 配置所有内容。我在日志文件中收到警告:
2018-02-07 19:00:28,592 WARN o.s.b.a.f.FreeMarkerAutoConfiguration -
Cannot find template location(s): [classpath:/templates/]
(please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false)
我的模板位于外部位置,因此警告是正确的。
我的配置是这样设置的:
@Bean
public FreeMarkerConfigurer freemarkerConfig() {
FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer();
freeMarkerConfigurer.setTemplateLoaderPath(freeMarkerConfiguration.getBasePath());
return freeMarkerConfigurer;
}
templateLoaderPath 是一个外部文件:位置并且确实有模板。事实上,一切正常,我只是想从我的日志文件中获取警告,但已经把我带入了一个我现在需要弄清楚的兔子洞。 所以我像这样将该属性添加到我的配置中:
@Bean
public FreeMarkerConfigurer freemarkerConfig() {
FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer();
Properties props = new Properties();
props.setProperty("checkTemplateLocation", "false");
freeMarkerConfigurer.setTemplateLoaderPath(freeMarkerConfiguration.getBasePath());
freeMarkerConfigurer.setFreemarkerSettings(props);
return freeMarkerConfigurer;
}
这是抛出一个错误:
Unknown FreeMarker configuration setting: "checkTemplateLocation"
我尝试过“freemarker.checkTemplateLocation”和“spring.freemarker.checkTemplateLocation”,但都没有成功。
如何通过 Java 配置设置此设置?
【问题讨论】:
标签: java spring freemarker