freemarker - 从序列中检索值

Posted

技术标签:

【中文标题】freemarker - 从序列中检索值【英文标题】:freemarker - Retrieve value from sequences 【发布时间】: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 列]

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

谢谢

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于freemarker - 从序列中检索值的主要内容,如果未能解决你的问题,请参考以下文章

Freemarker/Velocity - 日期操作

网页静态化FreeMarker的使用

freemarker在web应用项目的使用

Spring mvc整合freemarker详解

Spring mvc整合freemarker详解

Spring mvc整合freemarker详解