现在更多的网站制作采用一种 MVC 模式,也就是将网站制作工作分工,分别为M(Model, 模型),V(View 视图),C(Controller 控制器).
M(Model, 模型)也就是后台的事务逻辑,真正处理事务的代码,商业逻辑等等。他们是整个网站最重要的工作部分,通常这部分代码相对来说比较稳定,不经常变动,就是有所变动也不会对前端的页面有什么影响。
V(View 视图): 也就是网页的显示部分,这个部分接受来自后台程序的结果或数据,进行显示,但是这个部分通常是变化比较大的部分,比如网站的界面更新是经常要要作的事情,每隔一段时间更新网页风格就会造成 View 视图部分的大量更改工作。
C(Controller 控制器). 在视图和模型之间传递控制,并根据要求调用相应的视图显示模型返回的数据,主要负责调度工作。
这种职责的分工到底有什么好处呢,它简化了软件开发过程中所有相关人员的工作, 使得不同的部分的修改通常不会影响的其他部分的工作,比如,我修改了后台某些程序的算法,并不影响前台的页面显示,前台页面修改不影响后台程序的开发。这种分工合作比起 jsp 混淆代码逻辑和显示层的做法要好的多。
所以越来越多的国外程序员在不断提出替代 jsp 的方案,在众多方案中, 一种基于 java 模板引擎的技术脱颖而出,最为著名的是 Velocity 和 Webmacro 两种模板技术。
模板引擎的设计思想最早是有 webmacro 提出的, 后来应用在一个著名的搜索引擎 www.altavista.com 上, 这种思想渐渐被 Apache 开发小组所采用,并作为一个子项目被提出来,这就是现在的 Velocity。模板引擎与MVC中视图这一部分的关系更为密切。它是经常作为一种 jsp 的替代技术出现在国外的一些论坛上的。但是 Velocity 可以应用在任何需要格式化数据显示的 java 程序中。
那么 Velocity 到底是什么呢?它的官方解释是: "Velocity 是一种基于 java 的模板引擎,它允许任何人使用简单而强大的模板语言来引用定义在 java 代码中的对象"
你可能因为下面几种原因而使用 Velocity: 1:它很容易集成在各种各样的程序领域中。 2:它为网页制作人员提供了一种清晰而又简单的语法 3:因为模板和代码是分离的,所以你可以分别独立的开发和维护它们。 4:Velocity 引擎可以很容易的集成到一些 Java 运行环境,特别是 Servlet. 5:Velocity 使得模板可以访问任何环境对象中的共有方法。
Velocity 的强大之处在于它严格的区分程序开发功能的职责划分。 它限制模板可能访问的对象(也就是后台程序允许它得到的对象)来实现这一点。这意味着,网页设计人员可以只把精力放在数据的显示部分(View 视图)而程序员则只要关注如何写好程序的控制层(Controller,控制器)和商业逻辑和数据管理(模型 Model), 这就是 MVC 开发模式。MVC 现在已经是广泛接受的一种开发模式,它简化了开发和日益复杂的应用和维护工作。
Velocity 最擅长做哪些方面的工作呢? 1: 基于 servlet 的网站制作 2: Java 和 Sql 代码生成 3: XML 处理和转换 4: 文字处理,比如生成 TRF 文件。
不过 Velocity 用的最多的还是在基于 Java servlet 的网页程序中作生成网页的引擎,以替代 JSP 等技术。 除了比较容易使用外, 它提供了强大的模板语言以显示和操作数据,但是不是生成数据,这点很重要, 因为这个工作应该是程序逻辑的部分。 Velocity 非常适合在 J2EE (Java 2 Platform, Enterprise Edition) 的网站开发中充当替代 jsp 做输出页面的技术工作,虽然 JSP 包含在 j2ee 的规范中,其实 j2ee 本身并不需要 jsp .
出处:牧羊人手记
责任编辑:蓝色
上一页 引言 下一页 Velocity 如何工作?
◎进入论坛网络编程版块参加讨论
|