【技术培训】【Velocity】 - HITer - JavaEye技术网站



Veloctiy基础


简介
Velocity是一项模板 技术。是基于java的模板引擎(template engine)。它最关键的能力是:简单地使用模板语言(VTL)来引用由java代码定义的对象 。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只xx页面的显示效果,而由java程序开发人员xx业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL、XML以及任意文本,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。我们公司目前就使用velocity作为代码生成工具的模板引擎、也将其作为web应用的视图引擎。
对我们的web开发而言,velocity的{zd0}优点是“简单性 ”——它的功能远远比不上JSP强大。简单性使velocity不会逾越一个“视图”该有的职责,有助于实现纯粹的MVC模式,也使velocity更加容易学习和使用

官方网站

版本 :velocity包括引擎、工具以及若干子项目,我们只需要xx引擎即可。
目前engine的{zx1}版本是1.5,不过和1.4版在使用上的区别不大。

怎么学习
先看这个概括性的短句:velocity是一个引擎。
就像汽车引擎一样,没了传递轴,没有燃料,引擎就是废铁而已。velocity引擎的作用是把java对象和预定义的模板在引擎中合并转换成文本,再通过某些途径传输到其他输出(浏览器/控制台/文件等) 。可以看出来velocity引擎与外部程序的交流涉及到三个关键部分:java对象(输入可变数据)、模板(输入恒定数据)、输出 。无论velocity在什么环境、什么框架中调用,它都面临着这三个问题。java对象怎么传递给引擎?引擎怎么样去查找模板?生成的文本是直接下载?还是显示在浏览器里?还是输出到文件? velocity自己提供的工具和各种MVC框架提供的velocity整合体系都是在解决这三个问题,它们孜孜以求的目标是尽可能使velocity的使用简单化,使用户不必重复解决这三个问题。它们给引擎接上油箱,连上传动轴,因此你只需要套上轮胎、灌满汽油就可以发动了。
(其实所有被冠以“引擎”之名的类库都具有类似的特性。运气好的话,我们可能借助一些现有的包装,否则就不得不自己动手)
目前我们经常使用velocity的场合是配合Spring的MVC框架将velocity作为视图使用 。Spring的VelocityViewResolver/VelocityConfigurer解决了上面三个问题。因此学习成本就降低为Spring的配置与Velocity本身的模板语言学习(VTL)。前者需要你读一下Spring的手册(或者直接照抄我们已经实验过的配置,如下),后者需要你读一下Velocity的VTL手册(见下,10分钟)。OK!就这么简单。

看个培训实例:

附录
在Spring中配置velocity
(更加详细的配置请查阅 的'web'->'集成视图技术'->'Velocity和Freemarker'小节)


资源下载 :建议大家直接查看官方站。如果对英文不感冒,我找到下面几个翻译文档可以帮助你。 [ 本帖{zh1}由 杨晓刚 于 2007-11-2 11:03 编辑 ]

align=absMiddle : (2007-11-1 16:46, 637.52 K)
该附件被下载次数 55


align=absMiddle : (2007-11-1 16:46, 371.27 K)
该附件被下载次数 61


align=absMiddle : (2007-11-1 16:46, 672.17 K)
该附件被下载次数 51


align=absMiddle : (2007-11-1 16:46, 340.27 K)
该附件被下载次数 46


郑重声明:资讯 【【技术培训】【Velocity】 - HITer - JavaEye技术网站】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——