如何在逻辑语句中 #evaluate 速度变量?

Dan*_*lef 5 java apache velocity

我正在使用 Apache Velocity 模板。

在下面,我从 1..n 开始循环,并期望$myVar等于$originalVar和 '_n' 的值的串联(其中 n 是 1..n 中的数字),例如 'test_1',其中 'test' 是 的值$originalVar1 是 的值n

这可以通过以下方式实现:

#foreach($i in [1 .. $num_of_iterations])
    #set($myVar= "$originalVar_$i")
    #evaluate($myVar)
#end
Run Code Online (Sandbox Code Playgroud)

但是,我无法在逻辑语句中#evaluate,如下所示:

#if (#evaluate($myVar)  == "false")
    ...
#end
Run Code Online (Sandbox Code Playgroud)

因此,如何#evaluate在逻辑语句中使用变量呢?

Cla*_*son 3

只需将 #evaluate 括在引号中即可:

#foreach($i in [1 .. $num_of_iterations])
    #set($myVar= "$originalVar_$i")
    #if("#evaluate($myVar)" == "true")
      found true
    #else
      found false
    #end
#end
Run Code Online (Sandbox Code Playgroud)