You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FTL(FreeMarker)中将多个产品ID列表合并为Sequence类型列表

在FreeMarker中合并多个Sequence类型列表的实现方案

问题背景

通过EntityQuery从PurchaseOrder表中获取了5个产品ID的Sequence列表(Productid1至Productid5),原查询代码如下:

<#assign Productid1 = EntityQuery.use(delegator).select("ProductId1").from("PurchaseOrder").queryList()>
<#assign Productid2 = EntityQuery.use(delegator).select("ProductId2").from("PurchaseOrder").queryList()> 
<#assign Productid3 = EntityQuery.use(delegator).select("ProductId3").from("PurchaseOrder").queryList()>
<#assign Productid4 = EntityQuery.use(delegator).select("ProductId4").from("PurchaseOrder").queryList()>
<#assign Productid5 = EntityQuery.use(delegator).select("ProductId5").from("PurchaseOrder").queryList()>

每个列表的元素示例:pid000001、pid0000050、pid0000013、pid0000019、pid0000025、pid000003、pid0000034、pid0000039、pid0000043、pid0000047。

需求:将这5个Sequence类型的列表合并为一个Sequence类型的列表,且不改变元素类型。

实现方案

在FreeMarker中,直接使用+运算符即可拼接多个Sequence列表,拼接结果仍为Sequence类型,且保留原元素的类型和顺序:

<#assign mergedProductIds = Productid1 + Productid2 + Productid3 + Productid4 + Productid5>

可选:去重处理

如果合并后需要去除重复的产品ID,可以在拼接结果后添加?unique指令:

<#assign mergedUniqueProductIds = (Productid1 + Productid2 + Productid3 + Productid4 + Productid5)?unique>

内容的提问来源于stack exchange,提问作者maahi_m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 13:24:22