2016-12-06 114 views
0

layout.ftl文件自動包括application.properties配置是這樣的:如何在Spring Boot中自動包含整個Freemarker模板包?

spring.freemarker.settings.auto_include = macro/layout.ftl 

這工作正常,但現在我在macro包添加越來越多的宏,所以我的配置是慢慢變充斥這樣的:

spring.freemarker.settings.auto_include = macro/layout.ftl, macro/macro1.ftl, macro/macro2.ftl, macro/macro3.ftl, macro/macro4.ftl 

是否可以一次自動包含整個macro包?我試過了:

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 

這些都不起作用。

回答

2

不開箱,因爲TemplateLoader接口(這是春天和別人實現加載從某處模板)沒有目錄列表的功能,所以核心FreeMarker的功能不能做到這一點。

如果您可以從Java代碼配置FreeMarker,那麼您可以動態組合列表中的文件名,然後將其提供給Configuration.setAutoIncludes(List templateNames)。至少在使用某些Spring Boot組件時,可以在應用application.properties的屬性後綁定自己的設置代碼,但我沒有檢查過FreeMarker Spring Boot功能是否如此。

相關問題