freemarker中assign和local之间的区别是什么

Osc*_*Ryz 3 freemarker

例如:

<#assign foo="foo"/>
<#local bar="bar"/>
Run Code Online (Sandbox Code Playgroud)

何时应该使用一个而不是另一个

dde*_*any 6

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

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

也可以看看: