我有一个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是否存在,那么我就可以避免添加这个额外的变量。
发布于 2008-11-20 20:25:22
要检查值是否存在,请执行以下操作:
[#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>
发布于 2012-07-23 22:15:59
这个看起来更适合:
<#if userName?has_content>
... do something
</#if>
http://freemarker.sourceforge.net/docs/ref_builtins_expert.html
https://stackoverflow.com/questions/306732
复制相似问题