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

本质上,我想检查给定列表/数组中是否存在给定值。在C#中,它等效于.Any().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


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

最佳答案

$myValues.contains($i)


要么

$list.contains($myValues, $i)


(自从在Velocity 1.6中引入前者以来,就不推荐使用此方法)

07-24 20:54