添加到列表打印速度为真

hel*_*004 4 apache velocity vtl

我正在尝试将一些字符串值添加到 Velocity 中的列表中。当我运行代码时,它工作正常。但是它添加值的行打印为真。在 Velocity 中总是这样吗?我是 Velocity 模板的新手,所以无法自己弄清楚。

#set ($uniqueInterfaces     =   [])
#if($ipv4interfaceName == $ipv6interfaceName)
    $uniqueInterfaces.add($ipv4interfaceName)
#end
Run Code Online (Sandbox Code Playgroud)

它是带有嵌套 foreach 的较大代码的一部分。它有两个匹配项,所以输出是:

true
true
Run Code Online (Sandbox Code Playgroud)

我根本不需要打印这个真实的!

小智 8

Java 的List#add方法返回布尔值,这就是此返回值打印在您的 html 输出中的原因。

您可以通过将 add 方法的输出分配给一个虚拟变量来简单地隐藏它:

#set ($uniqueInterfaces     =   [])
#if($ipv4interfaceName == $ipv6interfaceName)
    #set ($swallow = $uniqueInterfaces.add($ipv4interfaceName))
#end
Run Code Online (Sandbox Code Playgroud)