Доступ к внешней переменной в макросе?
Как получить доступ 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 ответа
Решение
Вам нужно написать .main.orderType
, Обратите внимание на начальную точку. Это синтаксис для доступа к "специальным переменным", чтобы они не могли конфликтовать с другими переменными.
Назначьте его с помощью глобального
http://freemarker.org/docs/ref_directive_global.html
<#global orderType="normal"/>