在 Freemarker 中取消分配普通变量

Posted

技术标签:

【中文标题】在 Freemarker 中取消分配普通变量【英文标题】:Unassign plain variable in Freemarker 【发布时间】:2016-04-11 07:42:28 【问题描述】:

在模板中,使用 语句,我们可以设置'plain variable' 的值,如docs 中所述。在模板的处理过程中,我正在寻找取消分配这些变量的能力。我一直无法找到任何方法来做到这一点。如果只有 Freemarker 团队支持此功能,理想情况下将变量设置为 null 将是最简单的选择。

【问题讨论】:

How to set null to a var in freemarker的可能重复 【参考方案1】:

Freemarker 中没有 unassign 之类的东西,但我会尝试以下方法:

<#assign myVariable = aNonexistentVariable! />

【讨论】:

是的,变量仍然存在,没有办法“删除”它。但它是空的,即myVariable?has_content 计算为false 实际上这是 这正是我试图避免的。任何进行空值检查的代码都将停止正常运行。 答案明确指出“Freemarker 中不存在 unassign 之类的东西”。 +1

以上是关于在 Freemarker 中取消分配普通变量的主要内容,如果未能解决你的问题,请参考以下文章

Freemarker 将列表长度分配给局部变量

FreeMarker页面静态化入门

Freemarker的使用方法

如果 Freemarker 中不存在 XML 节点,则分配空字符串

Apache freemarker 模板分配和比较值

无法解析类型 freemarker.core.Configurable。它是从所需的 .class 文件中间接引用的