被称为诗仙的是谁:CHAPTER 14 在Turbine里使用Velocity - Velocity空间 -...
来源:百度文库 编辑:九乡新闻网 时间:2024/07/13 21:00:38
如果你从事Web应用程序开发已经很久了,那么你可能已经意识到你正花费大量的时间在重新发明轮子。典型的任务包括数据库连接池、构建控件Servlets、书写导航菜单和设计众多的页面。重复使用在哪里?组件?还是框架?幸运的是,许多人已经认真思考过这个问题,并创建了一些Web开发者需要的工具。在这一章里,我们将介绍Turbine,它是一个试图把Web开发带入和传统软件开发相同的舞台的一个框架。为什么这个框架对我们如此重要?原因就在于这个框架依赖Velocity作为MVC模式的view组件。
Turbine是什么?
Turbine,Apache软件开发组织旗下的Jakarta项目之一,是其众多使用Velocity进行Web开发的可视化(visible显著的)中的一个。它包含以下特性:
■它是一个基于Servlets的控制器组件
■它强调在应用程序中(比如购物车)固有的安全
■你可以在不依赖Web的环境下使用它
Turbine不仅仅是另一个应用程序服务器,它还是一个应用程序框架(application framework),它为开发者提供了让他们在构建企业级应用程序时所需要的工具,而不需要书写大量的代码。这并不是说,你可以把你的应用程序直接丢给服务器。这个框架毫无疑问是一台主机,同时通过适当环境执行,比如Tomcat或Resin。Turbine为你构建特定Web应用程序提供了一些服务。另外,Turbine专用于在MVC模式中使用EJB、控制器Servlets和用Velocity写屏幕的环境中。
随着我们开始寻求理解什么是Turbine和它是怎么和Velocity关联的等问题答案的时候,Turbine变得越来越清晰,Turbine其实就是专门为Web开发者设计的。如果你是一个Web设计者,那么你可能对Java代码不是太熟悉,可能就需要一段艰苦的时间用于了解Java基础知识,在这里,哪怕你只具备一点点Java基础知识,你也可以通过我们提供的详细步骤做完全部示例。Velocity的角色就是构建在Turbine里需要使用的屏幕输出。注意,Velocity不是你在Turbine里唯一能够用的模板语言,Turbine也支持WebMacro、JSP、Cocoon和Freemarker。
有了这些概念之后,请系好你的安全带,让我们开始学习使用框架进行设计的激情之旅吧!
Turbine体系
首先,你需要一个围绕Turbine体系进行设计的清晰图表。Figure 14.1图解了在这个框架里的不同模块。
Figure 14.1 The Turbine architecture.
正如你看到的一样,这个框架包含了5个主要模块,所有的模块都在assemblers(汇编程序)的统一指挥下进行工作:
Action—完成特定任务的代码
Navigation—显示导航链接和控件的Velocity模板
Screen—结合Velocity模板和Java类,以显示Layout模块内的关键信息
Layout—描述页面外观的Velocity模板
Page—是一个概念上的对象,它包含了所有上面的模块
下面我们将按顺序解释每一个模块
Action模板
正如你所期待的一样,这个Action模块是用于执行一个特定任务的一小块Java代码。其中最重要的任务就是执行将处理信息以HTML
Listing 14.6 The insert.vm Velocity template.
我们已经介绍了Velocity模板insert.vm里面几乎所有的东西。然而,这个时候,包含在