欢迎来到天天文库
浏览记录
ID:9066677
大小:54.50 KB
页数:9页
时间:2018-04-16
《每个人应该知道的nvelocity用法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、每个人应该知道的NVelocity用法NVelocity是一个基于.NET的模板引擎(templateengine)。它允许任何人仅仅简单的使用模板语言(templatelanguage)来引用由.NET代码定义的对象。从而使得界面设计人员与.NET程序开发人员基本分离。 一、nVelocity的常用功能简介 1、在页面中定义变量,并进行简单的运算。 2、在页面中获得对后台程序实体对象的引用。 3、在页面中迭代实体对象集合。 4、在页面中获得实体对象的属性,及其方法。 5、对逻辑判断语句的
2、支持。 6、对外部文件的引用。 7、对外部文件的解析。二、nVelocity的工作原理 可以使用.NET的反射实现。以下是nVelocity对迭代实体类的简单实现步骤: 1、定义People类,并拥有Name与Sex属性。表示一个人。 2、在页面中列出人物列表,则输入以下代码: #foreach($pin$ps)
欢迎您:$p.Name
3、文件,并匹配#foreach…#end段,如果匹配到则继续匹配$Xin$XX段,分别记录用于保存集合与单项的字符,本次为“p”与“ps”。 5、用Type对象的GetProperties()方法获取_list中每一项的所有属性,并在#foreach #end段中循环将$p+属性名称替换为当前对象的当前属性的值。当然如果要调用对象的方法也可以用同样的方式获得。三、基本语法 1、特殊字符介绍 A、“#”:表示开始做什么事情。 B、“$”:表示用于获得什么。(以$开头的表示“引用”意
4、思是取得一些东东.可引用变量,属性,方法) C、“##“:单行注释。 D、“#*……*#”:多行注释。 2、关键字 A、Set:开始做什么事情,比如定义变量,给变量重新赋值等。(注意:如果右边的操作数是一个属性或命令的引用而返回null,那么赋值将不会成功,且在随后的VTL中也不能再取出使用,如果要用做if条件,一个解决办法是,先给变量赋一个值,然后再将一个属性或命令的引用赋给该变量) B、Foreach:迭代语句 C、If:条件判断语句 D、El
5、seif E、Else F、Include:对外部文件的引用,开始位置为模板路径。 G、Parse:对外部文件的引用,并用nVelocity方式解析。 H、Macro:创建宏,可以重复做某件事,类似于方法。 I、 Even:双数执行 J、 Odd:单数执行 K、Each:每次都执行 (备注:所有变量在未定义之前不能使用(因为我们习惯了有全局变量的习惯),一个合法的VTL标示符是以一个字母开头的。.NET后台定义的对象除外。模板语言区分大小写,
6、所有的关键字必须为小写,默认情况下,NVelocity解析是不分大小写的,当然可以通过设置runtime.strict.math=true,采用严格解析模式。)四、使用示例 1、 在页面中使用变量 定义变量:#set($a=“CNF”) 引用变量:欢迎光临:$a 定义变量:#set($a=1) 运算:#set($a=$a+1) 输出:$a ##得:2 运算:#set($a=$a*5) 输出:$a ##得:10 #set($criteria=
7、["name","address"]) #foreach($criterionin$criteria) #set($result=false) //先设置默认值 #set($result=$query.criteria($criterion)) #if($result) Querywassuccessful #end #end (备注:从以上可以看出nVelocity的替换顺序与.NET程序代码的执行基本
8、一致,如果放在Foreach语句块中可以实现累加。并用If语句获得行号,对特殊行号的内容特殊处理。所有变量在未定义之前不能使用,.NET后台对象除外,最好采用正规引用格式,${a},正规引用格式一般用于在模板中直接调整字符串内容;静态引用输出:NVelocity遇到一个不能处理的引用时,一般他会直接输出这个引用$email的写法,页面上会看到的是$email,我们可以在$后面加上一个!号,那么就会输出空白.$!{email}如果不能处理会输出空白。如果email己定义
此文档下载收益归作者所有