如何检查一个变量是否存在于FreeMarker模板中?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (83)

我有一个Freemarker模板,其中包含一组占位符,在处理模板时为这些占位符提供值。

如果提供了username变量,我希望有条件地包含模板的一部分,如下所示:

[#if_exists userName]
  Hi ${userName}, How are you?
[/#if_exists]

然而,FreeMarker手册似乎表明,如果_存在是不可取的,但我找不到其他方法来实现这一点。当然,我可以简单地提供一个额外的布尔变量isUserName,然后这样使用:

[#if isUserName]
  Hi ${userName}, How are you?
[/#if]
提问于
用户回答回答于
[#if userName??]
   Hi ${userName}, How are you?
[/#if]

或者使用标准的共济会语法:

<#if userName??>
   Hi ${userName}, How are you?
</#if>
用户回答回答于

这个似乎更合适:

<#if userName?has_content>
... do something
</#if>

扫码关注云+社区