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
),那么您可以将它们视为全局变量。
另请参阅:
例如:
<#assign foo="foo"/>
<#local bar="bar"/>
什么时候应该用一个代替另一个
#local
创建或替换存在于正在进行的宏或函数调用范围内的变量,因此在 #macro
或 #function
中使用。
#assign
在当前命名空间(或通过 in somenamespace
明确指定的命名空间)中创建或替换变量。如果您不使用多个命名空间(即,您不使用 #import
),那么您可以将它们视为全局变量。
另请参阅: