Надеюсь, 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/