如何在 Velocity 中执行内联 if/else(也称为三元运算符)?
2022-09-01 02:23:22
在纯Java中,我可以这样做:
value = (a > b) ? a : b;
而在速度中,长形式将是:
#if($a > $b)
#set($value = $a)
#else
#set($value = $b)
#end
Velocity中有简短的形式吗?我希望能够做一个如果/否则内联。
在纯Java中,我可以这样做:
value = (a > b) ? a : b;
而在速度中,长形式将是:
#if($a > $b)
#set($value = $a)
#else
#set($value = $b)
#end
Velocity中有简短的形式吗?我希望能够做一个如果/否则内联。
你可以做
#set($value = "#if($flag)red#{else}blue#end")
您不需要#macro或#set指令。关键是使用大括号作为#else指令。
#if($plural)were#{else}was#end
从文档(几乎在条件部分的末尾):
还有一个有用的说明。如果您希望在#else指令之后立即包含文本,则需要使用紧邻该指令的大括号,以将其与以下文本区分开来。(任何指令都可以用大括号分隔,尽管这对于#else最有用)。
注意:无论文档说什么,我发现在使用简单的内联if语句时,可能需要添加大括号。
#if($includePrefix)Affected #{end}Inspection