转义和if判断

反斜杠转义 + #if 判断语法

一、反斜杠 \ 转义规则

预设变量:#set($dog = "woof woof")

VTL代码渲染输出原理说明
$dogwoof woof正常解析变量
\$dog$dog单个反斜杠:转义紧随其后的$,取消变量解析,原样打印$
\\$dog\woof woof第一个\转义第二个\ → 输出\
剩下$dog正常解析变量
\\\$dog\$dog\\输出\\$输出$
\\\\$dog\woof woof\\输出\\\输出\
$dog解析变量
  1. Velocity变量名必须字母开头$10.0 不会识别为变量,直接原样输出,所以文本里写微软$10.0美元无需额外转义;
  2. 连续反斜杠两两抵消;只有\$组合具备转义美元符号的能力;
  3. 如果页面需要原样展示$变量名,标准写法:\$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>

注意
  1. 结尾必须写#end闭合判断块,缺少会直接报错;
  2. 关键字:#elseif不要分开写成 #else if,这是错误写法);
  3. 条件支持:< > <= >= == != && || 等运算符;
  4. 匹配逻辑:从上往下依次判断,命中第一条满足条件分支后,后续分支不再执行。

Previous:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注