以下两个声明之间有什么区别?它是如何工作的?
name="$!{fieldName}"
和name="$fieldName"
答案 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