将列表项与变量进行比较

时间:2012-11-27 02:34:04

标签: velocity

我正试图在列表中进行速度搜索。我有一个国家代码列表,我这样设置:

#set($Europe=(['ee','ja','ku','aa' ])  

我有一个变量($ cntryCode),已经设置了我想要与列表中的每个项目进行比较,以查看该国家是否来自该地区(在这种情况下是欧洲,或者如果不是)。

我做了:

#foreach ($cntryCode in $Europe)
#set ($region="Europe")
#end

但它不起作用。 此外,我尝试过:

#if ($Europe.contains($cntryCode)
#set($regio="Europe")
#end
#end

但两种情况都不起作用。

这是我的第一个问题,那么我需要将一个以上的地区设置到某些国家......对于如何做到这一点的任何想法?

1 个答案:

答案 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中处理这些事情的有用信息。

相关问题