`

Velocity简介

阅读更多
Velocity简介

官网:http://velocity.apache.org/
一、简介:
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模式进行开发。

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


二、基本概念:
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)
连字符("-")
下划线 ("_")
























二、Eclipse安装Velocity插件:
将附件中的velocity插件jar包放到eclipse下的dropins目录,然后重启eclipse即可。












扩展01:http://www.cnblogs.com/firstyi/archive/2007/11/01/945745.html
分享到:
评论

相关推荐

    velocity简介

    ### Velocity简介与精确解析 **Velocity**是一种基于Java的模板引擎,主要用于动态页面的生成,尤其是在Web应用开发中。它允许开发人员将业务逻辑与显示层分离,使得代码更加清晰和易于维护。Velocity通过简单的...

    jsp、freemarker、velocity简介和对比

    ### jsp、freemarker、velocity简介和对比 在Java Web开发领域,模板引擎是连接后端业务逻辑与前端展示层的重要桥梁。本文将重点介绍三种常用的Java Web模板引擎:JSP(Java Server Pages)、Freemarker以及...

    velocity的jar包

    **Velocity简介** Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网站内容。Velocity被设计成一个轻量级的、快速的、非侵入式的模板语言,使得开发者能够将HTML页面的展示...

    Java进阶教程Velocity快速掌握模板引擎视频

    l velocity 简介 l 快速入门 l vtl 模板语法 l 代码生成器案例 第二部分 : velocity tools 高级进阶 l velocity tools 介绍 l GenericTools使用 l Velocity View 使用 l 自定义tools工具类 l springmvc整合...

    velocity中文

    Velocity简介 Velocity是由Apache软件基金会开发的一个开源项目,它最初设计用于生成静态网站内容,但后来被广泛应用于各种Java应用中,如电子邮件模板、报告生成、XML文档构建等。Velocity的核心理念是“分离展示...

    JAVA的Velocity语法学习

    ** Velocity简介 ** Velocity是Apache软件基金会下的一个开源项目,它是一个基于Java的模板引擎,主要用在Web应用中生成动态内容。Velocity通过简单的语法,将业务逻辑与表现层分离,使得开发者可以专注于业务逻辑...

    velocity中文文档 教程

    **Velocity简介** Velocity是一款开源的Java模板引擎,它允许开发者将HTML页面的呈现逻辑与业务逻辑分离,使得网页设计人员可以专注于页面的布局和样式,而程序员则专注于编写应用程序的后端逻辑。Velocity由Apache...

    maven velocity

    ** Velocity简介 ** Velocity作为Apache软件基金会的一个开源项目,是一个用于生成动态Web内容的模板引擎。它的设计目标是使开发者可以专注于内容,而不是HTML布局。Velocity模板语言(VTL)简单易用,支持条件语句...

    eclispe的velocity插件

    ** Velocity简介 ** Velocity是一个强大的模板引擎,它的设计目标是使开发者能够专注于内容和结构,而不是HTML或其他标记语言的细节。通过Velocity,程序员可以在模板中引用Java对象,模板则负责将这些对象的属性...

    Velocity快速指南

    #### 一、Velocity简介与应用场景 Velocity是一种基于Java的模板引擎,其主要作用在于简化Web应用程序的开发过程。该工具能够帮助前端开发者轻松地引用后端Java代码中定义的方法,实现前后端开发的并行化,提高了...

    velocity的简单demo

    # Velocity简介及简单示例 Velocity是Apache软件基金会下的一个开源项目,它是一个基于Java的模板引擎,主要用于生成动态Web内容。Velocity通过简单的语法和强大的数据整合能力,使得开发者能够将注意力集中在数据...

    使用velocity

    #### 一、Velocity简介与环境搭建 **Velocity**是一种基于Java的模板引擎,用于生成动态HTML页面或其他文本格式的文档。它提供了一种简单而强大的方式来分离业务逻辑与显示逻辑,使得开发者能够更专注于业务处理,...

    velocity 入门文档及应用源码,很适合做自动代码生成

    **Velocity简介** Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态Web内容。Velocity通过将内容展示与业务逻辑分离,帮助开发者专注于内容的编写,而无需关心HTML或者其他...

    velocity-1.6.zip

    一、Velocity简介 Velocity是一个Java模板引擎,它的设计目标是将呈现逻辑从应用业务逻辑中分离出来。通过使用简单的语法, Velocity允许开发者在HTML、XML或其他类型的文档中插入Java代码,使得模板和业务逻辑解耦...

    Mastering.Apache.Velocity

    #### 一、Apache Velocity简介 Apache Velocity 是一款基于 Java 的模板引擎,由 Apache 软件基金会维护和支持。它主要应用于 Web 应用开发领域,用于实现视图层(View Layer)的逻辑处理。通过 Velocity,开发者...

    Velocity用户手册(中文)

    **Velocity简介** Velocity是一款强大的Java模板引擎,由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。它旨在将呈现逻辑从应用程序代码中分离出来,使开发者可以专注于业务逻辑,而设计师则可以专注...

    velocity教程

    **一、Velocity简介** Velocity的核心概念是模板语言,它通过特殊的指令(称为Velocity模板语言,VTL)来控制内容的生成。VTL是设计用来嵌入到HTML或其他类型的文档中的,这样就可以在运行时根据数据动态生成文档。...

Global site tag (gtag.js) - Google Analytics