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