【问题标题】:freemarker - Retrieve value from sequencesfreemarker - 从序列中检索值
【发布时间】:2021-11-09 23:06:52
【问题描述】:

希望这个问题很容易解决。

我正在尝试通过 NetSuite 中的高级表单 PDF 功能使用 FreeMarker 从序列中检索单个值。

这是一段sn-p代码:

          <#assign getOps>
      <#list record.item as assembly>
      {item: ${assembly.item}, op: ${assembly.operationsequencenumber}}
      </#list>
    </#assign>
      
      Number of words: ${getOps?word_list?size}
${getOps}

当我打印以上内容时,会打印以下内容:

我希望能够从这个序列中捕获单个值,使用类似于 ${getOps.item} 的东西,但会引发错误:

对于“。”左操作数:预期为散列,但已评估为 一个字符串(包装器:f.t.SimpleScalar): ==> getOps[2] [在第 126 行第 3 列的模板“模板”中]

---- FTL 堆栈跟踪(“~”表示嵌套相关):

  • 失败于:${getOps[2].item} [in template "template" at 第 126 行,第 1 列]

您能确定这里的问题吗? 任何帮助表示赞赏。

谢谢

【问题讨论】:

    标签: freemarker suitescript suitescript2.0


    【解决方案1】:

    您正在那里将输出捕获到单个字符串中。所以它是非结构化的,一个扁平的字符串,因此你不能再遍历它了。如果确实需要转换原始列表,则需要使用?map(参见 FreeMarker 手册)。但是 Netsuite 使用 FreeMarker 分支,我不确定他们是否支持 ?map

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2020-06-14
      相关资源
      最近更新 更多