2013-04-11 3 views
0

я имею что-то похожее на следующее в одном из моих шаблонов:Возможно ли получить значение параметра Freemarker в директиве?

<#assign myVar = ${myValue}-1> 

но Freemarker не устраивает и дает мне:

Exception in thread "main" freemarker.core.ParseException: 
    Encountered "{" at line 43, column 43 in myTemplate.ftl. 
Was expecting one of: 
    "in" ... 
    ">" ... 
    <EMPTY_DIRECTIVE_END> ... 
    etc... 

Есть ли способ, что я могу использовать/получить значение myValue и использовать его в директиве?

+1

Awww. Я не думаю, что это заслуживает голосования с плохим вопросом только потому, что оно задокументировано. :-) Каждый раз, когда я покидаю FreeMarker в течение нескольких недель, я исповедую это различие. Я думаю, это потому, что он выглядит так, что Perl-y и Perl будут довольны «$ {}» способом везде. –

ответ

2

Да есть:

<#assign myVar = myValue - 1 > 

(Там пример похож на это в the documentation for assign)

Синтаксис ${} используется, когда вы находитесь за пределами директивы FreeMarker и нужно привлечь его внимание сделать интерполяцию. Однако в тегах FreeMarker переменные должны быть голыми.