如何使用内联模板的freemarker

时间:2017-11-01 12:52:32

标签: freemarker

我可以将spring-boot与freemarker一起使用但是我需要在运行时创建我的模板,从db加载,我只使用控制器中的return来查找示例

1 个答案:

答案 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中执行操作,不需要"内联模板"。