我可以将spring-boot与freemarker一起使用但是我需要在运行时创建我的模板,从db加载,我只使用控制器中的return来查找示例
答案 0 :(得分:1)
至少如果您不需要Spring MVC(spring-web
)功能,您可以直接使用FreeMarker API。你需要一个freemarker.template.Configuration
单例bean(也许Spring为Spring MVC创建的那个就足够了,但创建你自己的bean可能更干净),然后你可以使用new Template(null, someString, cfg).process(dataModel, outputWriter)
。如果需要考虑性能,您可能希望缓存生成的Template
对象。
另请注意,如果您提供此类TemplateLoader
实现,FreeMarker可以直接从数据库加载模板,(在这种情况下,您将使用Configuration.getTemplate(templateName)
来获取Template
对象)。这样做的好处是,数据库中的模板可以是#import
- ed / #include
- ed,FreeMarker也会为您缓存Template
个对象。当然,如果您需要Spring MVC,那么您可以像往常一样在Spring MVC中执行操作,不需要"内联模板"。