在使用Velocity时经常会看到三种使用变量的情况
那么三者之间到底有什么区别呢?莫慌!!!哈哈
${name}:输出表达式的计算结果,并进行过滤,比如:过滤变量中的html标签
${var}:如果有值则输出,如果为空,则将该代码原样输出;
$!{name}:输出表达式的计算结果,不进行过滤,常用来输出html片段
$!(var):如果有值则输出,如果为空,则不显示,其中的“!”表示如果可以取到值则输出该值,如果取不到值或值为null,则输出空字符串即“”,即强制将不存在的变量显示为空白
!${name}:其中的“!”就像js中的布尔操作符一样,表示取反
原文出处: Velocity学习(三)之