使用Freemarker中的索引访问特定列表值(NetSuite Advanced PDF)

时间:2017-09-06 19:17:17

标签: java freemarker netsuite

我在NetSuite中有一个Freemarker列表。它包含采购订单的多个订单项,我希望 使用索引访问特定值

我试图在第二行的第二个单元格中打印下面代码中的所需值(仅用于调试目的)。

当我尝试处理代码时,我没有收到任何具体错误。 NetSuite只是告诉我我无法保存模板,所以我不确定如何继续。

<#if record.item?has_content>
    <table class="itemtable" style="width: 100%;"><!-- start items --><#list record.item as item><#if item_index==0>
    <thead>
        <tr>
        <th align="center" colspan="3">${item.quantity@label}</th>
        <th colspan="12">${item.item@label}</th>
        <th colspan="3">${item.options@label}</th>
        <th align="right" colspan="4">${item.rate@label}</th>
        <th align="right" colspan="4">${item.amount@label}</th>
        </tr>
    </thead>
    </#if><tr class="${LineFormat(item.item, item_index)}">
        <td align="center" colspan="3" line-height="150%">${item.quantity}</td>
        <td colspan="12"><span class="itemname">${item.item}</span><br />${item.description}}      ${item[item_index].rate}</td>
        <td colspan="3">${item.options}</td>
        <td align="right" colspan="4"><#if item.item?upper_case?contains("TAX")><#else>${item.rate}</#if></td>
        <td align="right" colspan="4">${item.amount}</td>
        </tr>
        </#list><!-- end items --></table>
    </#if>

2 个答案:

答案 0 :(得分:0)

最后有一个迷路</#if>

在这种情况下BTW(错误消息被某些东西吃掉)你可以检查http://try.freemarker.org/上的模板语法。 (如果你得到一些评估错误,那么你知道语法是正确的,否则它没有达到那一点。)

答案 1 :(得分:0)

LineFormat可能就是问题所在。这似乎是一个自定义函数,它不会显示在您的代码中。尝试删除LineFormat函数并单独打印item_index。