Apache Velocity - if 子句

Apache Velocity - if clause

我使用 Apache Velocity 创建电子邮件模板。 我有一封包含 table 和元素列表的邮件消息,为了创建它,我使用了 #foreach.

在这个 table 中,我将添加一个包含条件字符串的列,如果元素为空,则字符串为 string1 如果不为空,则为 string2.

这是我的代码:

 #foreach( $item in $list )
        <td style="max-width: 140px; word-wrap: break-word;">
        #if(${value} not null) 'String1' #else 'String2'#end</td>
 #end

错误日志:

 org.apache.velocity.runtime.parser.ParseException: Encountered "null" at line 25, column 131. Was expecting one of:
    "[" ...
    "{" ...
    "(" ...
    <STRING_LITERAL> ...
    "true" ...
    "false" ...
    <INTEGER_LITERAL> ...
    <FLOATING_POINT_LITERAL> ...
    <IDENTIFIER> ...
    "{" ...
    "[" ...
        at org.apache.velocity.runtime.parser.Parser.generateParseException(Parser.java:3679)

我在堆栈中找不到任何帮助...任何人都可以帮助我吗?

我认为这可以 运行 你的情况:

#if( $value)
    <td style="max-width: 140px; word-wrap: break-word;">String1</td>
#else
    <td style="max-width: 140px; word-wrap: break-word;">String2</td>
#end

试着读一下这个question