如何使用 Apache Velocity 不显示比较结果?

How to not display the result of compare, using Apache Velocity?

我正在使用 Apache Velocity 来个性化电子邮件(通过 HTML 和 CSS,我在其中放置了一些 Java 变量)

这是我的问题:

我有一个字符串列表,名为 $listString :

#set($listString = [])

在这个列表中,我放了一些东西:

$listString.add("aaa");
$listString.add("bbb");

现在,我想知道这个列表是否包含 "bbb" :

#if (($listString.contains("bbb")) == true)
    Yeah ! It contains bbb !
#end

所以句子“Yeah ! It contains bbb”应该出现...它出现...
但是在邮件内容中,句首有“true;”...

 true; Yeah ! It contains bbb !

结果与此比较相同:

#if ($listString.contains("bbb"))
    Yeah ! It contains bbb !
#end

如何不显示使用"contains()"方法的比较结果?
如何不显示"true;"?

谢谢!

您需要将 add 方法的结果重定向到另一个变量,例如:

  #set ( $success = $listString.add("aaa") )
  #set ( $success = $listString.add("bbb") )

  #set ($res = $listString.contains("bbb"))

  #if ( $res == true)
      Yeah ! It contains bbb !
   #end