我有一个 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 是否存在,那么我可以避免添加这个额外的变量。
要检查该值是否存在:
[#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>