我正试图在列表中进行速度搜索。我有一个国家代码列表,我这样设置:
#set($Europe=(['ee','ja','ku','aa' ])
我有一个变量($ cntryCode),已经设置了我想要与列表中的每个项目进行比较,以查看该国家是否来自该地区(在这种情况下是欧洲,或者如果不是)。
我做了:
#foreach ($cntryCode in $Europe)
#set ($region="Europe")
#end
但它不起作用。 此外,我尝试过:
#if ($Europe.contains($cntryCode)
#set($regio="Europe")
#end
#end
但两种情况都不起作用。
这是我的第一个问题,那么我需要将一个以上的地区设置到某些国家......对于如何做到这一点的任何想法?
答案 0 :(得分:3)
不确定你究竟想做什么,但对我有用的是以下内容,即迭代列表并检查是否找到该元素:
## pre-set by some other code
#set($cntrCode = 'ja')
#set($Europe=(['ee','ja','ku','aa' ]) )
#foreach ($eu in $Europe)
#if($eu.equals($cntrCode))
found country code $cntrCode in $Europe
#end
#end
$ Europe在这种情况下似乎是java.lang.ArrayList类型,所以也可以使用以下
#if($Europe.contains($cntrCode))
found country code $cntrCode in $Europe.class
#end
我希望这有助于您开始使用,否则Velocity User Guide和其他文档也应提供有关如何在Velocity中处理这些事情的有用信息。