【发布时间】:2021-10-26 06:54:00
【问题描述】:
我们有一个动态的 Freemarker 模板。我们有 1 个模板,其中包含全局文档结构和带有动态块的不同配置。这些块使用block.content?interpret 评估。
在主模板和块中,我们也有需要填充的变量。我想知道是否可以在结果模板中提取所有变量的列表?
目前,我唯一能想到的就是解析生成的模板并使用正则表达式(或类似的东西)来提取${(...)} 之间的任何内容。但也许 Freemarker 中有一个更好的扩展点,我(还)不知道。
我们想要变量列表,以便我们可以与用户交流需要填写哪些变量(我们有一个 UI 可以输入内容,但我们也希望通过服务提供元模型)。
【问题讨论】:
-
在 SO 和网络上有一些答案(你肯定会找到它们)。但是他们会说这是不支持的,因为语言的动态特性。一般来说,不可能说出使用了哪些变量。除非我们严格限制可以使用的语言结构。
-
这是我怀疑的,也是从 FreeMarker 的内部推断出来的,只是想确定一下。谢谢,那我们将不得不寻找另一种解决方案。
标签: java freemarker