Velocity简介

[size=xx-large][color=orange][b]Velocity简介[/b][/color][/size]

官网:[url]http://velocity.apache.org/[/url]
[size=medium][color=red][b]一、简介:[/b][/color][/size]

1)它允许任何人使用简单而强大的模板语言来引用定义在 java 代码中的对象"
2)Velocity是一个基于java的模板引擎,简称VTL(Velocity Template Language)。
3)主要目的是弥补JSP的不足,把页面设计从繁重的java编码中解脱出来。
4)使用新颖的语法格式,简洁、高效。
5)语法虽然不完全类似于java但也基于面向对象的语法规范。
5)它很容易集成在各种各样的程序领域中。
5)它为网页制作人员提供了一种清晰而又简单的语法
5)因为模板和代码是分离的,所以你可以分别独立的开发和维护它们。
5)Velocity 引擎可以很容易的集成到一些 Java 运行环境,特别是 Servlet.
5)Velocity 使得模板可以访问任何环境对象中的共有方法。

Velocity 最擅长做哪些方面的工作呢?
1: 基于 servlet 的网站制作
2: Java 和 Sql 代码生成
3: XML 处理和转换
4: 文字处理,比如生成 TRF 文件。


Velocity 的强大之处在于它严格的区分程序开发功能的职责划分。 它限制模板可能访问的
对象(也就是后台程序允许它得到的对象)来实现这一点。这意味着,网页设计人员可以只
把精力放在数据的显示部分(View 视图)而程序员则只要关注如何写好程序的控制层
(Controller,控制器)和商业逻辑和数据管理(模型 Model), 这就是 MVC 开发模式。MVC
现在已经是广泛接受的一种开发模式,它简化了开发和日益复杂的应用和维护工作。
它允许web 页面设计者引用JAVA代码预定义的方法。Web 设计者可以根据MVC模式和JAVA程序员并行工作,这意味着Web设计者可以单独专注于设计良好的站点,而程序员则可单独专注于编写底层代码。Velocity 将Java 代码从web页面中分离出来,使站点在长时间运行后仍然具有很好的可维护性,并提供了一个除JSP和PHP之外的可行的被选方案。
Velocity可用来从模板产生web 页面,SQL, PostScript以及其他输出。他也可用于一个独立的程序以产生源代码和报告,或者作为其它系统的一个集成组件。这个项目完成后,Velocity将为Turbine web 应用程序框架提供模板服务。Velocity+Turbine 方案提供的模板服务将允许web 应用按真正的mvc模式进行开发。

[b]Velocity 真正的工作原理: [/b]
 Velocity 解决了如何在 Servlet 和 网页之间传递数据的问题,当然这种传输数据的机制是
在 MVC 模式上进行的,也就是View 和 Modle , Controller 之间相互独立工作,一方的修
改不影响其他方变动,他们之间是通过环境变量(Context)来实现的,当然双方网页制作
一方和后台程序一方要相互约定好对所传递变量的命名约定,比如上个程序例子中的 site,
name 变量,它们在网页上就是 $name ,$site 。 这样只要双方约定好了变量名字,那么双
方就可以独立工作了。 无论页面如何变化,只要变量名不变,那么后台程序就无需改动,
前台网页也可以任意由网页制作人员修改。这就是 Velocity 的工作原理。


[size=medium][color=red][b]二、基本概念:[/b][/color][/size]
1.‘#’所有的Velocity语句都是由它开始,结尾不需要特殊符号;
例如:
#if( $foo == $bar )
#if( $foo > 42 )
#if( $foo < 42 )

2.‘$’所有的变量,属性,对象的使用都有它开始;

引用(Reference): 以 '$' 打头的元素
字面字符串(String literal) : 比如"$foo" 或 'hello'
字面数字: 1, 2 ….
整数范围: [ 1..2] 或 [$foo .. $bar]
对象数组: [ "a", "b", "c"]
布尔真
布尔假
例如:
reference的正是格式如下:
${mudSlinger} 变量
${customer.Address} 属性
${purchase.getTotal()} 方法


3.变量;
正则表达式:
$ [ ! ][ { }[ a..z, A..Z ][ a..z, A..Z, 0..9, -, _ ][ ] ]
例如:
Normal notation: $mud-Slinger_9
Silent notation: $!mud-Slinger_9
Formal notation: ${mud-Slinger_9}
变量分为三种基本形式:
普通型(Normal notation),这是Velocity中最常用的变量类型,可适用于绝大多数情况;$message

哑元型(Silent notation),主要用在当你使用一个变量,可是它还没有值时,哑元型会为你输出一个空字符串;$!message

正式型(Formal notation),这种类型主要用载需要区分变量名称时,如使用变量$test但在页面中后面紧跟着页面内容,如:$testHello,变量会被误认为是$testHello,所以改变如下:${message}Hello,即可正常使用;

变量的注释:
在Velocity中‘$’是保留字,所以页面中对它的使用就会受到一定的限制,如下的页面内容:
$2003year,是不会有问题的,因为在Velocity中变量必须使用字母开头(’!’、’{‘除外}所以这个字串会被正常显示;
$year2003,出现这样的字串,分两种情况:1.但当前并没有定义这个变量名,系统一样会正常显示;换言之如果要使用变量但没有定义系统都会将其当作一般字符串打印出来;2. 当前已定义这个变量名,则系统会把所有出现的此字串当作变量处理,为避免这种情况,Velocity给出了特殊符号修饰符’\’,假设给此变量赋值good year,结果如下:
$year2003 good year
\$year2003 $year2003
\\$year2003 \good year
\\\$year2003 \$year2003
以此类推。
注:单独使用变量,如:<input type="text" name="email" value="$email"/>,不算完整语句,不需要在行首加’#’


4.属性:
${aA32_E.ad-mo_mo23}

$[{] [ a..z, A..Z ] [ a..z, A..Z, 0..9, -, _ ]* .[a..z, A..Z ] [ a..z, A-Z, 0..9, -, _ ] * [}]


5.标示符:

[ a..z, A..Z ] [ a..z, A..Z, 0..9, -, _ ]*
如:ad-mo_mo23
一个 VTL 标识符(Identifier.)组成。一个VTL 标识符必须以一个字母开始(a .. z或 A .. Z)。剩下的字符将由以下类型的字符组成:
字母 (a .. z, A .. Z)
数字 (0 .. 9)
连字符("-")
下划线 ("_")



[size=medium][color=red][b]二、Eclipse安装Velocity插件:[/b][/color][/size]
将附件中的velocity插件jar包放到eclipse下的dropins目录,然后重启eclipse即可。


扩展01:[url]http://www.cnblogs.com/firstyi/archive/2007/11/01/945745.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值