变量名与'!'的区别在速度模板中

时间:2016-05-09 06:49:08

标签: templates variables initialization declaration

以下两个声明之间有什么区别?它是如何工作的?

name="$!{fieldName}"name="$fieldName"

1 个答案:

答案 0 :(得分:2)

安静的参考符号:

当Velocity遇到未定义的引用时,其正常行为是输出引用的图像。例如,假设以下引用显示为VTL模板的一部分。

<input type="text" name="email" value="$email"/>

最初加载表单时,变量引用$ email没有值,但您更喜欢空白文本字段,其值为&#34; $ email&#34;。使用安静的参考符号可以避免Velocity的正常行为;而不是在VTL中使用$ email,你会使用$!email。所以上面的例子如下所示:

<input type="text" name="email" value="$!email"/>

现在,当表单最初加载且$ email仍然没有值时,将输出空字符串 而不是&#34; $ email&#34;

来源:https://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html