在宏中访问外部变量?

时间:2014-05-07 03:15:11

标签: freemarker

如何在宏中访问main命名空间变量?

我有一个名为orderMacro.ftl的宏文件,并将其导入test.ftl,如下所示:

<#import "path/orderMacro.ftl" as order/>

我还在test.ftl中定义了一个变量:

<#assign orderType="normal"/>

现在我使用orderType访问orderMacro中的main.orderType变量,main表示为test.ftl创建的命名空间(也许我误解了这个词)。 它报告错误:Expression main is undefined

2 个答案:

答案 0 :(得分:2)

您需要撰写.main.orderType。注意初始点。它是访问“特殊变量”的语法,因此它们不会与其他变量冲突。

答案 1 :(得分:1)

使用全局

分配

http://freemarker.org/docs/ref_directive_global.html

<#global orderType="normal"/>