首页 > 代码库 > 只需一句话就能搞定NVelocity模板引擎,源码+解析+文档+资料+注释
只需一句话就能搞定NVelocity模板引擎,源码+解析+文档+资料+注释
好长时间不发技术方面的动态了,今天无聊就发篇关于NVelocity的技术文章吧,这门技术来源于java开源项目Velocity,比较好用,其他的我也不过多介绍了,没听过的在文章末尾会有介绍,下面我们就实战吧~
咱们直接上最简单的方法,一句话搞定:
很多人就蛋疼了,你这没头没脑的一句话搞毛呢?不急,咱们先重基础的了解开始,那个只是最后最简单状态.
说到NVelocity,那么官网先贴出来:http://www.castleproject.org/download/ ;这个NVelocity有什么用呢,为啥用他呢?
其实让我说这个比较蛋疼,你只要记住2点就行了:其一:前台和后台工作分离 。其二:不用你手动读取字符串去进行繁琐的替换。
可能有人会问,不是有母板页吗?感觉差不多啊?咳,你可以从单词来理解Velocity是速度的意思,如果效率一样那还有人用吗。。。事实证明他们也不是一个档次的。如果你会了这个技术那么你的简历里面可以很洋气的写上~
其实模板引擎有很多NVelocity、Razor、StringTemplate等,NVelocity只是其中之一,来源于Velocity。这些模板引擎用起来也都相似,一般Net程序员刚接触的模板引擎都是它,如果用过java的会发现,这个玩意的写法和EL表达式有几分神似。
好了,我就不继续扯淡了,参考资料和笔记我都会贴下面的,我们下面步入正轨~
1.新建一个网站添加对NVelocity.dll的引用
下载地址:http://pan.baidu.com/s/1qWwkHzu
2.新建 一个模板页面,我的如下图:(后缀名随便,建议先改成html,写完后再改成你的后缀)
咱们先看下NVelocity的语法
先简单解析一下:
$title相对于声明了一个变量叫title,我们在后台会给他赋值的,打个比方把就像C#里面的string title;后台一赋值就可以显示出来了,这个跟服务器控件lable有点神似(两者本质是不同的)
#if($p.Age < 10) #else #end ;这个是个语法格式,就相对于if else,只不过多了个end表示结束【注意:大于号,小于号中间的空格。】
$p.Age不知道什么意思吗?这就是NVelocity的强大之处,这里的$p 表示一个类,C#面向对象中类里面有字段属性,这边同样适用
——————————————————————————————————————
————————————————————————————————————————
(注释什么的都帮你打好了,如果你感觉还是不太懂就直接看第5步,我会教你用一句话搞定他)
那到底怎么写呢?看:
分三步来写:
1.跟上面一样,首先得把一般处理程序的ContentType改成text/html
Dictionary<string, object> dic = new Dictionary<string, object>();
3.调用NVelocity模板引擎
参考源码:http://pan.baidu.com/s/1dDB0pJb
只需一句话就能搞定NVelocity模板引擎,源码+解析+文档+资料+注释