【问题标题】:Freemaker: assign value in associative arrayFreemaker:在关联数组中赋值
【发布时间】:2016-01-29 13:48:01
【问题描述】:

我对 Freemarker 还很陌生。我正在尝试创建一个电子邮件模板,该模板将列出发票,然后在底部列出应付总额。但是,需要有一个基于货币的不同“总金额”(一些客户可能有 3 张欧元发票、2 张英镑发票等)。 我正在创建一个关联数组,其中键是货币,值是该货币的总金额。对于每张发票,由于正确货币的价值,我需要添加金额。但我得到一个错误,有一个意外的字符。 这是要点:

<#assign totalarr = {} />
<#list invoicelist as invoice>
    <#assign invcur = invoice.currency />
    <#assign invamt = invoice.amountremaining />
    <#assign totalarr[invcur] = totalarr[invcur] + invamt />
</#list>

错误出现在倒数第二行,我试图将金额添加到总值中。有任何想法吗? 谢谢! -克里斯汀

【问题讨论】:

    标签: freemarker


    【解决方案1】:

    要更改哈希子变量值,您需要像这样使用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>
    

    【讨论】:

    • 这正是我所需要的!非常感谢!
    猜你喜欢
    • 2016-11-21
    • 2020-10-19
    • 2017-02-22
    • 2021-09-06
    • 2018-07-16
    • 2022-11-17
    • 2012-10-02
    • 2013-01-03
    • 1970-01-01
    相关资源
    最近更新 更多