【问题标题】:How to check if value exists in an array using Velocity Template Language如何使用 Velocity 模板语言检查数组中是否存在值
【发布时间】:2019-12-27 11:26:36
【问题描述】:

我不确定如何使用 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) 应该可以正常工作,因为速度可以解释此类方法调用,只要它们是 java

标签: java loops velocity vtl apache-velocity


【解决方案1】:
$myValues.contains($i)

$list.contains($myValues, $i)

(这个被弃用了,因为前者是在 Velocity 1.6 中引入的)

【讨论】:

  • 谢谢安德鲁。会区分大小写吗?
  • @woodykiddy 是的,"A""a" 在 Java 中是不一样的,如果你使用 String 的等号(List#contains 将使用它)
猜你喜欢
  • 2020-06-22
  • 2013-10-17
  • 2011-09-01
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 2015-07-17
  • 1970-01-01
相关资源
最近更新 更多