从数据库加载免费标记模板
2022-09-01 15:12:24
我想将我的 FreeMarker 模板存储在一个数据库表中,如下所示:
template_name | template_content
---------------------------------
hello |Hello ${user}
goodbye |So long ${user}
当收到对具有特定名称的模板的请求时,这将导致执行查询,从而加载相关的模板内容。然后,应将此模板内容与数据模型(上述示例中的 “user” 变量的值)一起传递给 FreeMarker。
但是,FreeMarker API 似乎假定每个模板名称对应于文件系统的特定目录中的同名文件。有什么方法可以轻松地从数据库而不是文件系统加载我的模板吗?
编辑:我应该提到,我希望能够在应用程序运行时将模板添加到数据库中,因此我不能简单地在启动时将所有模板加载到新的StringTemplateLoader中(如下所述)。