【问题标题】:How use freemarker with inline template如何将freemarker与内联模板一起使用
【发布时间】:2017-11-01 12:52:32
【问题描述】:

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

【问题讨论】:

    标签: freemarker


    【解决方案1】:

    至少如果你不需要 Spring MVC (spring-web) 功能,你可以直接使用 FreeMarker API。您将需要一个 freemarker.template.Configuration 单例 bean(也许 Spring 为 Spring MVC 创建的那个就足够了,但创建自己的可能更干净),然后您可以使用 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 中做事,你不需要“内联模板”。

    【讨论】:

      猜你喜欢
      • 2021-08-08
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多