我对Freemarker来说相当新鲜。我正在尝试创建一个列出发票的电子邮件模板,然后是底部应付的总金额。但是,需要有一个不同的"总金额"基于货币(一些客户可能有3张欧元发票,2英镑等)。 我创建了一个关联数组,其中键是货币,值是该货币的总金额。对于每张发票,我需要添加由于正确货币值而产生的金额。但是我收到一个意外的字符错误。 这是要点:
<#assign totalarr = {} />
<#list invoicelist as invoice>
<#assign invcur = invoice.currency />
<#assign invamt = invoice.amountremaining />
<#assign totalarr[invcur] = totalarr[invcur] + invamt />
</#list>
错误在倒数第二行,我试图将金额添加到总价值中。有任何想法吗? 谢谢! -Kristin
答案 0 :(得分:2)
要更改哈希子变量值,您需要使用concatenation,如下所示:
<#assign totalarr = {} />
<#list invoicelist as invoice>
<#assign invcur = invoice.currency />
<#assign invamt = invoice.amountremaining />
<#assign sum = totalarr[invcur]!0 />
<#assign totalarr = totalarr + {invcur : sum + invamt} />
</#list>
<#list totalarr?keys as key>
${key} = ${totalarr[key]}
</#list>