NVelocity 1.1、StringTemplate 3.2和ASP.NET的ASPX页面做了个性能测试对比,对比结果如下: 结果就是,在2台不同的机器上,ASPX:StringTemplate:NVelocity分别为1.00:8.53:1.61和 1.00:7.34:1.71,StringTemplate的性能最弱,NVelocity有点接近ASPX的解析效率。
我喜欢在Asp.Net MVC中使用NVelocity View Engine的一个很重要的理由就是:NVleocity简洁易用的语法。几乎使用#set,#if,#foreach就可以构成完整的应用,下面就介绍一下NVelocity中的语法及常用指令。
NVelocity常用语法指令
默认情况下,NVelocity解析是不分大小写的,当然可以通过设置runtime.strict.math=true,采用严格解析模式。
对变量的引用:$ [ ! ][ { ][ a..z, A..Z ][ a..z, A..Z, 0..9, -, _ ][ } ]。
在NVelocity中,对变量的引用都是以$开头加上变量名称。当使用!时表示当此变量值为空时,显示空字符串。比如当$article为空,那会显示“$article“,而$!article会显示为“”。{}为变量名称限定,有时候变量名称后会有字符串,这是就需要用到{}了。比如$articleshow,想引用$article,这时只要修改为${article}就可以。其实,NVelocity对整个模板解析后都会变成这种模式。
对属性的引用ÿ