我尝试修改vsl文件以生成代码,以检查是否实际进入了foreach循环,并且根本不执行初始化代码。我尝试了类似java的.length> 0但是这不起作用:
myMethod() {
#if (${reference.attributes}.length > 0)
[some init code]
#foreach ($attribute in ${reference.attributes})
#some_macro($attribute)
#end
[some other code related to stuff created in the
#end
}
正确的方法是什么?
感谢。
答案 0 :(得分:4)
调用size()
方法。这将适用于集合和数组(从Velocity 1.6 +开始)。
#if (${reference.attributes.size()} > 0)
答案 1 :(得分:-1)
#foreach ($foo in $bar) $foo #end Or if you want to iterate over a number range: #foreach ($number in [1..34]) $number #end