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 - 从序列中检索值的主要内容,如果未能解决你的问题,请参考以下文章