Spring boot 如何在Spring Boot中自动包含整个Freemarker模板包?
我在Spring boot 如何在Spring Boot中自动包含整个Freemarker模板包?,spring-boot,freemarker,Spring Boot,Freemarker,我在application.properties中配置了layout.ftl文件自动包含,如下所示: spring.freemarker.settings.auto_include = macro/layout.ftl spring.freemarker.settings.auto_include = macro/layout.ftl, macro/macro1.ftl, macro/macro2.ftl, macro/macro3.ftl, macro/macro4.ftl 这很好,但是现
application.properties
中配置了layout.ftl
文件自动包含,如下所示:
spring.freemarker.settings.auto_include = macro/layout.ftl
spring.freemarker.settings.auto_include = macro/layout.ftl, macro/macro1.ftl, macro/macro2.ftl, macro/macro3.ftl, macro/macro4.ftl
这很好,但是现在我在宏
包中添加了越来越多的宏,所以我的配置慢慢被淹没,如下所示:
spring.freemarker.settings.auto_include = macro/layout.ftl
spring.freemarker.settings.auto_include = macro/layout.ftl, macro/macro1.ftl, macro/macro2.ftl, macro/macro3.ftl, macro/macro4.ftl
是否可以一次自动包含整个宏
包?我试过:
spring.freemarker.settings.auto_include = macro
spring.freemarker.settings.auto_include = macro/
spring.freemarker.settings.auto_include = macro/*
spring.freemarker.settings.auto_include = macro/*.ftl
这些似乎都不起作用。不是现成的,因为
TemplateLoader
接口(这是Spring和其他人实现的从某处加载模板的接口)没有目录列表功能,所以核心FreeMarker功能无法做到这一点
如果可以从Java代码中配置FreeMarker,那么可以动态组合文件名列表,然后将其交给
Configuration.setAutoIncludes(list templateNames)
。至少对于一些Spring Boot组件,在应用了应用程序的属性后,可以挂接您自己的设置代码。属性
,但我还没有检查FreeMarker Spring Boot功能是否也是如此。不是现成的,因为TemplateLoader
接口(这是Spring和其他人实现的从某处加载模板的功能)没有目录列表功能,所以核心FreeMarker功能无法做到这一点
如果您可以从Java代码中配置FreeMarker,那么您可以动态组合文件名列表,然后将其交给Configuration.setAutoIncludes(list templateNames)
。至少对于某些Spring Boot组件,在应用了应用程序的属性后,可以挂接您自己的设置代码。应用了属性,但我还没有检查FreeMarker Spring Boot功能是否也是如此