关键字:java, jsp, servlet, template, 模板, apache, jakarta, velocity 【推荐阅读:C++源代码的语法加亮】
velocity 是一个基于 java 的通用模板工具,来自于 jakarta.apache.org . apache 开发的目的是替代 jsp/struts. 【扩展信息:Who is const ?!(原创)】 jsp 是 sun 开发的 web 应用程序开发技术,与 php, asp 具有类似功能.但是 jsp 存在着很多问题,使得它难以推广, 请参照 the problems with jsp by jason hunter .velocity 主要是用在 java servlet 中. template 技术最早在 php 中作为附加工具包引入.目的是为了解决 php 中 常见的 php 代码与 html 代码混在一起,难以阅读.难以编写.难以修改的问题.其实这种问题在 jsp/asp 中也存在.asp 因为语法简单,引入了 vb script (vba 最早设计的目的是达到每个 office 用户都能学会,因而超级易学,vb script 与 vba 语法类似) ,使得几乎每个一个会 java script 的人都能学会.同时会 asp 与 html 的人很多,但是同时会 php 与 html 的人很少,同时会 jsp 与 html 的人更少.php 中引入 template 将 html 与 php 代码分成不同的文件,会 php 的只改 php 文件,会 html 的只改 html 文件,分工明确,因而工作效率大大增强,程序也更容易写.使用 velocity, java 代码与 html 代码分成不同的文件,不用学习 jsp 语法.作为 mvc 的应用技术之一,velocity 远比 jsp/struts 在model 与 view 代码的分离更为成功. php 的 template 介绍请参考我的文章 使用php4中的 integratedtemplate类实现html与php代码分离,使用php4中的 integratedtemplate类实现block功能 . velocity 可以用来产生动态网页,sql,postscript 文件与其它可以从模板转换过来的文本文件.我曾经用它来产生 email 发送感谢信.发给不同用户的 email 的不同之处在于开始的用户名.用 velocity 处理这件事很容易.首先用 dreamweaver 编写一封 html 格式的 email. dear $username, .... 然后在 java 代码中将上面的变量进行替换,发送出去.程序写好后,email 还可以用 dreamweaver 随意修改而不用改动 java 代码. velocity 用在 servlet 中示例如下:... 下一页