Velocity空间

快速构建JAVA应用
随笔 - 11, 文章 - 15, 评论 - 5, 引用 - 0
数据加载中……

概述

 

起初,WEB页面是一个为所有访问者提供一个统一的信息静态实体。开发者很快就想到为拥有一种为每一个用户提供唯一数据的能力,一个大的技术分类随之而来,比如PHP,ASPJSP。当这些语言在解决这个问题的同时,也导致了一个非常大的问题。

这些语言直接和HTML标签相混合,导致程序可维护性大大降低。如果开发者想改变页面外观,修改工作将难以进行。

幸运的是,模型-视图-控制器(MVC)设计范例完全把私有代码从页面和数据中分离出来。使用MVC模式进行设计时,WEB设计者只关注于创建页面表现外观,而WEB开发者则只需关注代码的处理。Velocity是一种用于从私有代码中分离Java Web代码的技术(通过MVC方式), Web设计者通过使用java基础模板,引用用java书写的私有代码。

这本书提供了一个使用Velocity1.3.x创建可维护站点的综合处理方案(通过本书示例的帮助)。

这本书里有些什么?

因为Velocity是为Web设计者和开发者而设计的,这本书包含了VTLvelocity模板语言)的全部内容。我们展示了如何把VTL语言应用到你的Velocity模板的窗体数据里,以及如何使用这些模板开发应用程序。

我们假定你不知道Velocity,因此在编写第一个实际应用之前,我们提供了一个示例以便于你能够理解系统是如何工作的。在这个实例里,我们展示了如何利用MYSQL数据库来构建一个CD收藏应用。通过这个应用,你将学会如何利用MVC方式书写代码。你也将学会如何用velocity模板来进行web输出、文本报表和生成XML。本书第二个示例是一个酒店预约系统,用于验证如何使用Maverick Velocity 模板来构建一个完整的WEB应用。这个应用允许用户使用某几个标准进行房间信息搜索,预订想要的房间,然后显示预约确认。许多Velocity模板和三个控制类被用于完成应用,用一个Velocity模板来展现。

谁最应该读这本书

本书是为帮助WEB开发者和WEB设计者维护和开发WEB站点和应用而写的。许多组织把这些分成WEB设计者和软件开发者这两个角色,并分别雇用图形设计者来进行WEB表现设计和雇用软件设计者来进行WEB开发。这两个角色都是(critical)独立的:WEB开发者专注于Servlet Veloctiy后端(back-end)支持,WEB设计者利用WEB开发者提供的后端支持进行界面设计。

在这里,我们假定WEB开发者已经具备JAVA开发工作的经验和知识,并且已经能够熟练使用servletsEJBs进行交互,同时假定WEB设计者已经具备HTML开发工作的经验和知识。如果他们(exposure)不得不使用JSP/ASP或其他服务器端语言进行开发,Velocity将很容易进行转换(虽然我们假定他们不了解这些知识)。

本书由三部分组成。第一部分是MVCVelocity的介绍。一旦你已经掌握或了解了(under your belt)这些介绍性的知识,我们将进入Velocity语言和它的特性讨论环节(第二部分)。最后,第三部分提供了许多示例和全面的示例应用,并举例说明如何使用Velocity

Part I: VelocityMVC介绍

Chapter 1: Web开发基础(development basics)

直到今天,Internet开发仅仅是目前技术革新的一小部分。通过internet,把相互连接性进一步延长,它允许个体和公司以相同的方式向全球成千上万的客户和朋友呈现信息。最初,WEB页面开发仅限于使用HTML来产生一个静态页面。

随着internet语言的进化和站点需求的增加,开始向动态页面发展,并利用数据库进行数据管理和复杂应用处理。新的复杂性是,结果常常导致在同一个文件里混杂view和处理代码。Velocity利用MVC方式为设计者和开发者提供了一个解决方案。本章为internet发展历史和velocity是如何brings to the table(使表恢复知觉?)提供了一个全面的概览。

Chapter 2: MVC基本原理

Smalltalk-80设计出来的时候,一个叫做Model-View-ControllerMVC)的体系被用于从数据和控制逻辑中分离view,几年过去了,MVC已经变成一个能够被所有现代语言所应用的模式。MVB已经带进WEB舞台,同时能够被Velocity充分利用。

本章给你一个全面的MVC概览,同时向你解释MVCinternet开发处理中的角色。我们向你呈现了代码示例,同时描述了每一个MVC组件是如何解决在创建组合代码过程中所出现的问题。

Chapter 3: Velocity介绍

本章主要介绍Veloctiy。我们向你呈现了Velocity是如何工作的,并且调试我们在本书中将使用的代码。随着学习的深入,你将对这个系统有一个好的理解。

Part II: Velocity 基础

Chapter 4: 安装Velocity

在你开始关注Velocity细节之前,你必须先安装它。本章提供了一个全面的Velocity安装手册。涵盖windowsUnix平台下所有必须的开发工具和先决条件包。我们将对Velocity测试组进行全面讨论,同时提供一个执行示例应用的手册和sevlets支持包。一些支持包包含了Java SDK和一个应用服务器(比如TomcatResin)。

Chapter 5:创建Hello World 示例

正如你所期待的一样,一个新的开发范例都是从Hello World应用开始的。在这一节里,你将书写你的第一个Velocity应用-but with a twist。你可以书写用于单机和WEB格式的应用,以此证明Velocity能够用于任何类型的应用输出。当然,书写代码仅仅是战斗的一部分——你还必须能够部署和执行你的应用。本章将告诉你每一个详细的步骤。

Chapter 6: 理解和模板和上下文

Velocity的两个主要组件就是templates模板和context上下文。模板为WEB设计者创建应用界面提供了一个区域,这个界面将通过单机应用生成一个WEB页面或产生一个报表;上下文为WEB开发者放置所有设计者designerVelocity模板所需要的信息提供了一个区域。本章将介绍这些组件。我们将通过调试一个完整的示例来展示组件是如何在一起工作的,同时,我们将讨论他们的一般用法。

Chapter 7: Exploring References引用探索

Velocity内部,引用在模板和上下文(一个存储数据的地方)之间提供了一个接口。在这一节里,我们将描述以下三种类型的引用:语法、正式的和非正式的(?),我们也将讨论逃逸(escaping)、静态(quiet)和属性符号(property notation),同时提供一个示例来说明这些概念。

Chapter 8: 使用指令(Directives

Velocity和许多别的Internet语言一样,提供了一个命叫指令(directives)的控制和判断结构,这些指令(如#foreach #if)为WEB设计者提供了一个强大的工具,来熟练操作上下文中的数据。本章涵盖了directivesincludes示例,同时也包含了一个用于快速查找的引用片段。

 

Chapter 9: Velocimacros介绍

当你发现自己再三重复同样的Velocity代码时,你就应该开始学习velocimacros了。这些宏允许你创建一些用于模板的模块,以产生清晰(clean-looking)的代码,同时有助于今后开发的维护。本章涵盖了velocimacros内容,同时提供了广泛的例子。

Chapter 10: Velocity控制器讨论

Velocity开发者需要包含了几个结构——比如事件、资源加载和其他系统属性(帮助你定制Velocity的行为)。本章用示例来说明如何更改Velocity模式以适用于你的应用。

Part III: Velocity开发

Chapter 11: Velocity, XML, Anakia

XML是宣传和介绍的最多的技术。用于HTML时,XML允许用户自定义标记来识别包含在文本里的数据。为了使XML更易用,人们设计了XSLT,用于快速、便捷地操控和转换XML数据。

Anakia设计者使用Ant任务,利用强大的XSLT功能(found)和XML来创建输出。

Chapter 12:Servlets里使用Velocity

当你使用Velocity开发应用时,MVC范例模式是创建可维护性应用最有效方式。第一个控制器开发的就是Servlet。本章里,我们将向你展示如何使用ServletVelocity书写一个CD收藏应用。许多模板都是有插图的,同时我们将讨论在下载表文件的窗体里利用Velocity来输出文本。该应用同时也利用了EJBs来作为MVC范例模式的模型(model)组件。在EJBs里,数据通过Collection(收藏)对象窗体里的上下文来传递到模板。VTL指令(directives)把显示给用户的Collection(收藏)数据填充到数据库行。

Chapter 13: Velocity和国际化

当你正在设计一个WEB应用的时候,你可能习惯考虑使用母语来书写应用里的文本,但是你可能忘记了其他国家的用户或许正在使用这个应用的功能。虽然Velocity不能改变在JAVA基础WEB应用上完成国际化任务的现状,但它提供了一个创建被许多语言理解的兼容站点的框架。本章展示了如何把德语文本增加到你的CD收藏Velocity应用中。使用这个本章介绍的这个技术,你可以很容易地为你的Velocity应用增加其他语言支持。

Chapter 14: Turbine(涡轮)里应用Velocity

Jakarta的开发小组中,Turbine是一个为开发者提供的创建企业级应用工具的应用框架,其目标是提供一个让开发者自行创建其想要的组件框架(?)。

在本章里,我们将讨论如何使用TurbineVelocity获取、安装和部署一个应用。让你利用TurbineMVC支持进行Velocity开发。

Chapter 15: Maverick里使用Velocity

如果你正在使用J2EEMVC构建一个应用,可以考虑使用Maverick框架。这个框架联合了VelocityDVSL,它允许你构建一个企业级的XML应用。你也可以在应用中混合使用JDBCEJBs

Chapter 16: Velocity IDEs

虽然许多开发者和设计者都使用文本编辑器来操作他们的WEB页面,一些人更喜欢使用IDE。本章提供了各种不同的第三方IDE插件和文本编辑器插件。我们将涵盖许多开发工具的插件,比如IntelliJ's IDEA, UltraEdit, JEdit, TextPad, Emacs

Chapter 17: Struts里使用Velocity

Struts或许是目前用得最多的MVC框架了。Velocity团队预期的开发目标是使用Velocity作为MVC框架里的VIEW组件,同时创建可利用的接口包来进行综合处理。本章为使用StrutsVelocity创建一个应用提供了完整的说明。

Chapter 18: 酒店预约Velocity应用系统

在这一节时里,我们使用VelocityMVC框架书写了一个完整的WEB应用文档。我们使用许多模板来为WEB用户提供输入和显示页面。控制器使用MYSQL数据库跟踪酒店房间信息。

Chapter 19: JSP里使用Velocity

许多WEB设计者和开发者对JSP已经非常熟悉,他们不想切换到Velocity或不想放弃JSP页面,只想把JSPVelocity混合在起编程。本节向你展现了如何在JSP页面里使用Velocity标记库将Velocity命令嵌入到JSP页面中。

 

Chapter 20: DVSLVelocity

Velocity类型声明语言(DVSL)是为许多XSLT特性功能而设计的(?),它可以使用许多XSLT中相同的方法函数来转换XML。本章提供了一些使用DVSL例子。

Appendix A: The Velocity规范

Velocity系统由许多类和接口组成。本附录提供了一个完整的概览。

Appendix B: Velocity 站点

本附录提供了一个Velocity帮助站点列表。

posted on 2008-10-11 22:26 KINGWEE 阅读(760) 评论(1)  编辑  收藏 所属分类: Velocity

评论

# re: 概述  回复  更多评论   

基本看完了~再次感谢楼主~
这本书有免费下载的吗?原版PDF的~官网要40美刀...吃不起...
2010-05-17 14:50 | badpeas

只有注册用户登录后才能发表评论。


网站导航: