freemarker中assign和local有什么区别

What's the difference between assign and local in freemarker

例如:

<#assign foo="foo"/>
<#local bar="bar"/>

什么时候应该用一个代替另一个

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

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

另请参阅: