创建可以使用或不使用嵌套内容的宏的正确方法是什么?例如
<@myMacro/>
<@myMacro>my nested content</@myMacro>
有这样的吗?或者是其他东西?
<#macro myMacro>
<#if ??????>
Before nested content
<#nested/>
After nested content
<#else/>
Nothing nested here
</#if>
</#macro>
最佳答案
嵌套的内容被分配给一个变量,然后检查这个变量是否有任何内容。然后将该变量发送到输出,而不是使用另一个嵌套指令,以避免内容被处理两次。
<#macro myMacro>
<#assign nested><#nested/></#assign>
<#if nested?has_content>
Before nested content
${nested}
After nested content
<#else/>
Nothing nested here
</#if>
</#macro>
关于freemarker - 创建带有可选嵌套内容的 freemarker 宏?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31395508/