码迷,mamicode.com
首页 > 其他好文 > 详细

Velocity $ 和$! 区别

时间:2015-03-09 18:51:51      阅读:373      评论:0      收藏:0      [点我收藏+]

标签:

输出指令

${}过滤输出

输出表达式的计算结果,并进行过滤,比如:过滤变量中的HTML标签。

格式:
${expression}
 
示例:
${user.name}

 

注:HTTL缺省开启了EscapeXmlFilter,以防止HTML注入攻击,参见:安全示例。如果你需要更强的过滤,请自行实现Filter,并配置到value.filters。此处为运行时热点,请注意性能。

如果输出变量的类型为Template,则缺省不过滤,比如:${include("foo.httl")}

$!{}不过滤输出

原样输出表达式的计算结果,不进行任何过滤,通常用于输出HTML片段。

格式:
$!{expression}
 
示例:
$!{body}

 

安全示例

HTTL能根椐变量所处的位置,智能使用不同的安全过滤器,比如:

<htmL>
 
<!-- 这里会将html变量中的引号转成&quot; -->
<input value="${html}" />
 
<script type="text/javascript">
// 这里会将js变量中的引号转成\",而不是&quot;
var value ="${js}";
</script>
 
<style type="text/css">
.div {
    // 这里同样会将css变量中的引号转成\",而不是&quot;
    font-family:"${css}"
}
</style>

 

Velocity $ 和$! 区别

标签:

原文地址:http://www.cnblogs.com/fengjian/p/4324227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!