我的项目有几个事件,我在站点属性中存储事件ID,并且每个事件页面扩展了相同的核心模板,我想将特定的事件ID分配给一个通用变量。
问题在于,当我尝试在属性键内引入变量引用时,freemarker会返回语法错误。有没有办法解决这个问题?
${sectionName}
//rootSection
<@property key="eventID-rootsection" />
//32465
<#assign eventID = <@property key="eventID-${sectionName}" /> >
//syntax error
答案 0 :(得分:0)
问题在于property
被定义为指令(可能是宏),而不是方法(或函数)。您需要一个方法(或函数)版本。然后你的例子看起来像:
${sectionName}
//rootSection
${property("eventID-rootsection")}
//32465
<#assign eventID = property("eventID-${sectionName}")>
要定义property
,请执行TemplateMethodModelEx
或使用#function
指令。