领先的 与 技术推广者
《Velocity1.4 java 开发指南》中文版
源文见 http://velocity.apache.org
声明转载请保留此页声明
此文档为蓝杰实训学员拓展实训之用
蓝杰实训不对译文中某些说法可能会对您的系统或开发造成损害负责
如对您有所帮助,我们不胜荣幸!
本文属 中的 中文系列,本系包含如下文章:
《 开发指南中文版》
《 模板使用指南中文版》
《 应用开发指南中文版》
《!" 语法参考指南中文版》!"#$
《%&' 中文系列之起步篇》
更多资料请访问 http://www.netjava.cn/
译者: javaFound
($)*++
,,,
1
领先的 与 技术推广者
目 录
1.开始入门..........................................................................................................................................4
1.Getting Started.................................................................................................................................................4
2.Dependencies 依赖资源..................................................................................................................................4
2.参考资源:......................................................................................................................................4
3.它是如何工作的?..........................................................................................................................5
1.基本使用模式..................................................................................................................................................5
4.单实例还是多实例(To Singleton Or Not To Singleton...)?........................................................7
1.Singleton Model...............................................................................................................................................7
2.Separate Instance..............................................................................................................................................7
5. The Context...................................................................................................................................8
1.The Basics........................................................................................................................................................8
2.在模板中用#foreach 指令支持迭代对象......................................................................................................9
3.Context Chaining...........................................................................................................................................10
4.模板中的己创建对象....................................................................................................................................11
5.Context 对象的其它用法..............................................................................................................................11
6.Using Velocity In Servlets...........................................................................................................12
1.Servlet Programming.....................................................................................................................................12
2.Deployment....................................................................................................................................................14
7. Using Velocity In General Applications....................................................................................14
1.The Velocity Helper Class.............................................................................................................................15
2.Exceptions......................................................................................................................................................17
3.其它细节........................................................................................................................................................17
8.Application Attributes.................................................................................................................18
9.EventCartridge and Event Handlers(事件分发和处理)...........................................................19
1.Event Handlers...............................................................................................................................................19
2.Using the EventCartridge 使用事件分发器.................................................................................................20
10.Velocity Configuration Keys and Values(配置参数名字和值说明)......................................21
1.Runtime Log..................................................................................................................................................22
2.字符集编码问题............................................................................................................................................22
3.#foreach() Directive.......................................................................................................................................22
4.#include() and #parse() Directive..................................................................................................................23
5.资源管理........................................................................................................................................................23
6.Velocimacro(宏配置)...............................................................................................................................24
7.语义更改........................................................................................................................................................24
8.运行时配置....................................................................................................................................................25
11.Configuring the Log System(日志记录配置)...........................................................................25
1.一般的可选日志功能:..................................................................................................................................25
2.Simple Example of a Custom Logger............................................................................................................27
12.Configuring Resource Loaders(资源装载器配置)..................................................................28
1.Resource Loaders...........................................................................................................................................28
2.Configuration Examples................................................................................................................................29
3.插入定制资源管理器和 Cache 实现............................................................................................................31
13.Template Encoding for Internationalization(字符编码和国际化)........................................31
14.Velocity and XML......................................................................................................................32
,,,
2
领先的 与 技术推广者
15.FAQ (Frequently Asked Questions).........................................................................................34
1.Why Can't I Access Class Members and Constants from VTL?...................................................................34
2.Where does Velocity look for Templates?.....................................................................................................35
16.Summary.....................................................................................................................................35
17.Appendix 1 : Deploying the Example Servlet..........................................................................35
,,,
3
领先的 与 技术推广者
-开始入门
是一基于 语言的模板引擎, 使用这个简单、功能强大的开发工具,可以很容易的将数据对象灵活的与
格式化文档组装到一起;希望本文能指引使用 在开发基于 或一般 应用程序的应用上快速起步。
-*.
取得 并在你的机器上开始运行很容易/以下是全部详细的说明
- 取得 发布版本,*0。
1 目录及文件说明
o Velocity-X.jar完整的 包一般命名格式为 23,其中 3 是当
前版本号。注意这个 包不包含 所必须依赖的其它 包具体见后。
o SRC:完整的源文件代码目录
o Examples完整的 或 , 例子。
o docs 文档目录
o build:使用 编译源码时所需的
4 '5,现在就可以开始使用了请将 26 放到你的 0 中或 , 的 下。
当然,我们强烈建议你先运行其中的例子,以感受 的优异之处
1依赖资源
可运行于 5-& 或 #7-& 及其以上版本
也依赖于其它一些 包,在分发版本的 8有/如果你下载的是二进制分发版本,需要
到以下地址下载其它依赖包
Jakarta Commons Collections 9必须
Jakarta Avalon Logkit 9可选,但强列建议加上,以便输出日志信息
Jakarta ORO 9可选,仅当用到 *0(+这个
模板转换工具时
1参考资源:
一些优秀的资源和例程列表如下:
,,,
4
领先的 与 技术推广者
开发者邮件列表 mail-lists.
邮件档案表 : http://www.mail-archive.com 是很好的一个资源库.可以以’Velocity’为关键字进行搜索。
源代码(源码分发版本) : 88 : 含有 Velocity project 的所有源码
应用程序例程 1 : 6+8:6+- : 一个很简单的示例如何在一般应用程序中使用
Velocity.
应用程序例程 1 2 : 6+8:6+1 : 如何在应用程序中使用 Velocity 工具类.
servlet example : 6+8:6+- :示例如何在 servlet 中用 Velocity 输出模板.
logger example : 6+8**:6+ : 如何定制 Velocity 的日志工具.
XML example : 6+86+:6+ : 使用 JDOM 从 Velocity 模板读取内容. 还包含一
个递归调用宏的示例.
event example : 6+8:6+ : 在 Velocity 1.1 中使用事件处理 API。
Anakia application : 6+8; : 示例用 stylesheet 美化 xml 数据。
Forumdemo web app : 6+8$++ : 一个基于 servlet 的论坛功能实现示例.
templates : 8+ :全面展示 VTL(Velocity Template Lanauage)功能的模板集合。
context example : 6+86:6+ : 两个示例如何重写(继承) Velocity context 功能的例子
(针对高级用户).
4它是如何工作的?
-基本使用模式
在 *+ 或 中使用 中,一般通过如下步骤:
- 对于所有应用,第一步是要初始化 /一般使用唯一实例模式.*,如
1 创建一个 <6
4 将你的数据对象加入到 <6 对象中
& 使用 选择一个模板
= 合并模板和数据导出到输出流
下面的代码,通过使用 *0 的单实例模式,合并输出:
+.*>
+*0<6>
+*0!+>
+*0>
+*06#?76>
+*06@776>
+*06(0A76>
,,,
5