反斜杠转义 + #if 判断语法
一、反斜杠 \ 转义规则
预设变量:#set($dog = "woof woof")
| VTL代码 | 渲染输出 | 原理说明 |
|---|---|---|
$dog | woof woof | 正常解析变量 |
\$dog | $dog | 单个反斜杠:转义紧随其后的$,取消变量解析,原样打印$ |
\\$dog | \woof woof | 第一个\转义第二个\ → 输出\;剩下 $dog正常解析变量 |
\\\$dog | \$dog | \\输出\,\$输出$ |
\\\\$dog | \woof woof | \\输出\,\\输出\;$dog解析变量 |
- Velocity变量名必须字母开头,
$10.0不会识别为变量,直接原样输出,所以文本里写微软$10.0美元无需额外转义; - 连续反斜杠两两抵消;只有
\$组合具备转义美元符号的能力; - 如果页面需要原样展示
$变量名,标准写法:\$dog。
二、#if 分支条件语法
#set($ages = 22)
#if ($ages <13)
<h1>你是儿童</h1>
#elseif ($ages <18)
<h1>你是少年</h1>
#elseif ($ages <35)
<h1>你是青年</h1>
#elseif ($ages <60)
<h1>你是中年</h1>
#else
<h1>你是老年</h1>
#endCode language: PHP (php)
执行结果
$ages=22,满足 22 < 35 → 输出:<h1>你是青年</h1>
注意
- 结尾必须写
#end闭合判断块,缺少会直接报错; - 关键字:
#elseif(不要分开写成 #else if,这是错误写法); - 条件支持:
< > <= >= == != && ||等运算符; - 匹配逻辑:从上往下依次判断,命中第一条满足条件分支后,后续分支不再执行。
Previous: 扩展方法