Apache Velocity - if clause

3.6k Views Asked by At

I use Apache Velocity for create an e-mail template. I have a mail message that contain a table with a list of elements, for create it I had used a #foreach.

In this table I'll add a column contained a conditional string, If the element is empty the string are string1 if is not empty are string2.

This is my code:

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

Error log:

 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)

I don't find any help in stack... anyone can help me?

1

There are 1 best solutions below

0
On BEST ANSWER

I think this can run in your case:

#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

Try to read this question