freemarker中assign和local有啥区别

Posted

技术标签:

【中文标题】freemarker中assign和local有啥区别【英文标题】:What's the difference between assign and local in freemarkerfreemarker中assign和local有什么区别 【发布时间】:2017-09-03 11:34:31 【问题描述】:

例如:

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

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

【问题讨论】:

【参考方案1】:

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

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

另见:

变量种类:http://freemarker.org/docs/dgui_misc_var.html

命名空间:http://freemarker.org/docs/dgui_misc_namespace.html

【讨论】:

以上是关于freemarker中assign和local有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

freemarker里面用assign标签定义数组可以动态赋值吗

freemarker常用的基本命令

求助个freemarker的问题,关于ftl里面变量的空格自动去除

freemarker 2.3.21 和 freemarker 2.3.26-incubating 有啥区别

freemarker的简单入门程序

使用 Object.assign 和 class/extends 有啥区别?