我想知道是否有一种简单的方法可以将Freemarker模板的整个数据模型公开给JavaScript,最好在此过程中将其转换为JS对象文字。

我知道如何遍历键:

  <#list .data_model?keys as key>
  </#list>


大概我可以在模板内构建一个全局JS变量吗?

最佳答案

您可以使用FreeMarker遍历整个数据模型,然后为相应的JSON对象生成“源代码”,但是您必须处理字符串转义(例如,使用js_string builtin)和潜在的大对象(递归)图。

几年前,我写了一个通用数据模型“ dumper”,它打印了FreeMarker数据模型的漂亮树形表示。它可能不完全是您想要或想要的,但也许是灵感。您可以找到它here

09-26 07:53