【发布时间】:2019-02-02 17:50:12
【问题描述】:
我有一个 XML 文档作为根传递给 Freemarker 模板。我希望将此 XML 中的一些值作为字符串分配给变量,然后将它们连接/打印出来。
<#assign MyVar = root.child1.child2.child3.mynode>
这里的问题是,即使路径不存在MyVar 也被分配了一个序列+散列,无法打印出来或转换为字符串。尽管此变量为 ?has_content 返回 false,但它需要一个额外的步骤来进行这些检查,而且我对许多变量以及跨模板文件和模块都有同样的问题。
我能找到的唯一解决方案是
<#assign MyVar = root.child1.child2.child3.mynode>
<#assign MyVar = MyVar ?has_content?then(MyVar , "")>
我正在寻找类似 @987654321@ 的东西,它还检查像 ?has_content 这样的空值。
Freemarker 是否提供任何更简单的单行函数来检查变量是否没有内容并为其分配默认值?
【问题讨论】:
标签: freemarker