我正在使用免费的标记模板语言 2.3.1。我想从数组中删除一个值。你能给出任何建议吗?
示例代码如下:
<#assign array=[0]> <#list array as a>${a} <#assign array = array +[1]+[2]> <#assign array = array - [0]> <#list array as b> ${b}</#list></#list>
O/P: 0 1 2
我必须用<#assign array = array - [0]>
生产线替换什么?
希望 2.3.1 是一个错字,我假设它至少是 2.3.21。另外,因为类似数组的东西在FreeMarker中被称为序列,所以我将使用这个术语。因此,您不能在 FreeMarker 中修改序列,但您可以从序列创建新序列,通过切片(如seq[from ..]
、seq[from .. toInclusive]
、seq[from ..< toExclusive]
和seq[from ..* length]
(或通过串联(如seq1 + seq2
(。因此,您实际上可以删除一个元素:seq[0 ..< removedIndex] + seq[removedIndex + 1 ..]
。所有这些操作都只是创建"视图",而不是修改任何内容,每次应用它们时,生成的序列都会变得阅读速度变慢,因此不要应用它们数十次或数百次。
请参阅手册中的以下内容:https://freemarker.apache.org/docs/dgui_template_exp.html#dgui_template_exp_sequenceop
此外,您可以在此处快速尝试:https://try.freemarker.apache.org/