小编典典

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

all

我有一个 Freemarker 模板,其中包含一堆占位符,在处理模板时会为其提供值。如果提供了 userName 变量,我想有条件地包含模板的一部分,例如:

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

但是,FreeMarker 手册似乎表明 if_exists 已被弃用,但我找不到另一种方法来实现这一点。当然,我可以简单地提供一个额外的布尔变量
isUserName 并像这样使用它:

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

但是如果有办法检查 userName 是否存在,那么我可以避免添加这个额外的变量。


阅读 192

收藏
2022-07-12

共1个答案

小编典典

要检查该值是否存在:

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

或者使用标准的 freemarker 语法:

<#if userName??>
   Hi ${userName}, How are you?
</#if>

检查值是否存在且不为空:

<#if userName?has_content>
    Hi ${userName}, How are you?
</#if>
2022-07-12