我有一个Freemarker模板,其中包含一堆占位符,在处理模板时会为其提供值.如果提供了userName变量,我想有条件地包含模板的一部分,如:
[#if_exists userName]
Hi ${userName}, How are you?
[/#if_exists]
Run Code Online (Sandbox Code Playgroud)
但是,FreeMarker手册似乎表明if_exists已被弃用,但我找不到另一种方法来实现这一点.当然,我可以简单地提供一个额外的布尔变量isUserName并使用如下:
[#if isUserName]
Hi ${userName}, How are you?
[/#if]
Run Code Online (Sandbox Code Playgroud)
但是如果有一种检查userName是否存在的方法,那么我可以避免添加这个额外的变量.
我一直在Magnolia 代码示例中的 FreeMarker 代码末尾看到感叹号。例如:
${content.header!}
Run Code Online (Sandbox Code Playgroud)
感叹号叫什么,它有什么作用?