Freemarker中assign和local的区别是什么?

4
例如:
<#assign foo="foo"/>
<#local bar="bar"/>

什么情况下应该使用其中之一而不是另一个。
1个回答

7

#local 创建或替换一个变量,该变量存在于进行中的宏或函数调用的范围内,因此在#macro#function中使用。

#assign 创建或替换当前命名空间(或通过in somenamespace明确指定的命名空间)中的变量。如果您不使用多个命名空间(即,您不使用#import),则可以将它们视为全局变量。

另请参阅:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接