如何使用 Velocity 模板语言检查数组中是否存在值

woo*_*ddy 9 java loops velocity vtl apache-velocity

我不确定如何使用 Velocity 模板语言实现以下目标。

本质上,我想检查给定列表/数组中是否存在给定值。在 C# 中,它相当于.Any()or.Contains()方法。

#set($myValues = ["apple", "banana", "strawberry"])
#foreach($i in $items)
    $myValues.any($i) <= better way to achieve this??
    or something like this
    $myValues.contains($i)
#end
Run Code Online (Sandbox Code Playgroud)

当然,我可以使用多个if...else...条件并循环遍历列表来检查某个值是否存在,但代码很快就会变得混乱(如果查找列表很大)。有没有更好的方法来做到这一点?

And*_*lko 13

$myValues.contains($i)
Run Code Online (Sandbox Code Playgroud)

或者

$list.contains($myValues, $i)
Run Code Online (Sandbox Code Playgroud)

(此已弃用,因为前者在 Velocity 1.6 中引入)