9

如何在宏中有几个不同的#nested元素?

4

1 回答 1

28

宏中不能有不同的#nested元素,每次使用都会输出相同的文本。

如果您的目标是在宏中包含多个变量部分,则可以使用#assign元素。

允许定义正文、页眉和页脚内容的页面示例#macro :

<#macro pageTemplate header="" footer="">
    ${header}
    <#nested >
    ${footer}
</#macro>

然后,您可以使用#assign元素定义每个部分(但不可否认,拥有多个命名的 #nested元素会更好)。

<#assign headerContent>
     This is the header.
</#assign>
<#assign footerContent>
     This is the footer.
</#assign>
<@pageTemplate header=headerContent footer=footerContent>
     This is the nested content.
</@pageTemplate>

结果输出将是:

This is the header.
This is the nested content.
This is the footer.
于 2012-11-01T03:21:09.793 回答