Freemarker:在关联数组中赋值
Freemaker: assign value in associative array
我是 Freemarker 的新手。我正在尝试创建一个电子邮件模板,该模板将列出发票,然后在底部列出应付总额。但是,需要根据货币设置不同的 "Total Amount"(一些客户可能有 3 张欧元发票、2 张英镑发票等)。
我正在创建一个关联数组,其中键是货币,值是该货币的总额。对于每张发票,我需要根据正确货币的价值添加金额。但是我收到一个错误消息,指出存在意外字符。
要点如下:
<#assign totalarr = {} />
<#list invoicelist as invoice>
<#assign invcur = invoice.currency />
<#assign invamt = invoice.amountremaining />
<#assign totalarr[invcur] = totalarr[invcur] + invamt />
</#list>
错误出现在倒数第二行,我正在尝试将金额添加到总值中。有任何想法吗?
谢谢!
-克里斯汀
要更改散列子变量值,您需要像这样使用 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>
我是 Freemarker 的新手。我正在尝试创建一个电子邮件模板,该模板将列出发票,然后在底部列出应付总额。但是,需要根据货币设置不同的 "Total Amount"(一些客户可能有 3 张欧元发票、2 张英镑发票等)。 我正在创建一个关联数组,其中键是货币,值是该货币的总额。对于每张发票,我需要根据正确货币的价值添加金额。但是我收到一个错误消息,指出存在意外字符。 要点如下:
<#assign totalarr = {} />
<#list invoicelist as invoice>
<#assign invcur = invoice.currency />
<#assign invamt = invoice.amountremaining />
<#assign totalarr[invcur] = totalarr[invcur] + invamt />
</#list>
错误出现在倒数第二行,我正在尝试将金额添加到总值中。有任何想法吗? 谢谢! -克里斯汀
要更改散列子变量值,您需要像这样使用 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>