首页 > 其他 > 详细

Velocity $ 和$! 区别

时间:2015-03-09 18:49:02      阅读:534      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!