论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
用Apache Velocity模板引擎速造网站(2)
 作者:佚名     2007-3-14 17:34:21        来源:不详  浏览次数:

 

 

 

 

 

 

 

 

模板引擎的设计思想最早由Webmacro提出

Velocity模板引擎

模板引擎的设计思想最早由Webmacro提出,并被应用在一个著名的搜索引擎www.altavista.com上。后来,这种思想渐渐被Apache开发小组所采用,并作为一个子项目被提出来,这就是现在的Velocity。

模板引擎与MVC中视图部分的关系更为密切。Velocity可以应用在任何需要格式化数据显示的Java程序中。那么Velocity到底是什么呢?它的官方解释是:“Velocity是一种基于Java的模板引擎,它允许任何人使用简单而强大的模板语言来引用定义在Java代码中的对象。”

使用Velocity的优点在于:

◆ 很容易集成在各种各样的程序领域中;

◆ 为网页制作人员提供了一种清晰而简单的语法;

◆ 因为模板和代码是分离的,所以可以分别独立的开发和维护它们;

◆ Velocity引擎可以很容易地集成到一些Java运行环境,特别是Servlet中;

◆ Velocity使得模板可以访问任何环境对象中的共有方法。

Velocity的强大之处还在于它严格地区分程序开发功能的职责划分。它通过限制模板可能访问的对象(即后台程序允许其得到的对象)来实现这一点。这意味着网页设计人员可以只把精力放在数据的显示部分(View),而程序员则只要关注如何写好程序的控制层(Controller)、商业逻辑与数据管理(Model)。这就是典型的MVC开发模式,它简化了开发和日益复杂的应用和维护工作

Velocity最擅长做的工作包括:

◆ 基于Servlet的网站制作;

◆ Java和SQL代码生成;

◆ XML处理和转换;

◆ 文字处理,比如生成trf文件等。

不过,Velocity用得最多的还是在基于Java Servlet的网页程序中做生成网页的引擎,以替代JSP等技术。除了使用比较容易外,它提供了强大的模板语言来显示和操作数据。注意,不是生成数据,这点很重要,因为生成工作应该是程序逻辑的部分。

Velocity非常适合在J2EE(Java 2 Platform,Enterprise Edition)的网站开发中替代JSP,做输出页面的技术工作。虽然JSP包含在J2EE规范中,但是J2EE本身并不需要JSP。

用Velocity做网页

Velocity是如何工作的呢?虽然大多数Velocity的应用都是基于Servlet的网页制作,但是为了说明Velocity的使用,这里将采用更通用的Java Application来说明它的工作原理。

任何Velocity的应用都包括模板制作和程序部分两个方面。按照惯例,采用HelloWorld来作为第一个程序的示例。

1. 模板制作模板示例hellosite.vm的内容如下(虽然其不是以HTML为主,但很容易改成一个HTML的页面):

Hello $name! Welcome to $site world!

2.Java程序部分

下面是Java代码:

import java.io.StringWriter;

import org.apache.velocity.app.VelocityEngine;

import org.apache.velocity.Template;

import org.apache.velocity.VelocityContext;

public class HelloWorld

{

public static void main( String[] args )

throws Exception

{

/* first, get and initialize an engine */

VelocityEngine ve = new VelocityEngine();

ve.init();

/* next, get the Template */

Template t = ve.getTemplate( "hellosite.vm" );

/* create a context and add data */

VelocityContext context = new VelocityContext();

context.put("name", "Eiffel Qiu");

context.put("site", "http://www.eiffelqiu.com");

/* now render the template into a StringWriter */

StringWriter writer = new StringWriter();

t.merge( context, writer );

/* show the World */

System.out.println( writer.toString() );

}

}

将这两个文件放在同一个目录下,编译运行,结果是:

Hello Eiffel Qiu! Welcome to http://www.eiffelqiu.com world

为了保证运行顺利,请从Velocity的网站http://jakarta.apache.org/velocity/上下载Velocity的运行包,并将其中Velocity Jar包的路径放在系统的Classpath中,这样就可以顺利编译和运行以上程序了。


责任编辑:lss
  相关新闻
艰难PASS216,完成MCSE!!!
Jsp中的Application使用
使用AppFuse框架进行开发的总结
生成Mapping文件、编辑HQL语言的好工具
微软新推Dynamics社区 打造Myspace商务版
用Apache Velocity模板引擎速造网站(1)
Oracle中利用ADO对象实现存取和访问
FrontPage 2000网站FTP到NT服务器
Oracle发布免费数据库管理工具Raptor
利用AJAX与数据岛实现无刷新绑定
艰难PASS216,完成MCSE!!!
Oracle发布免费数据库管理工具Raptor
Oracle中利用ADO对象实现存取和访问
微软新推Dynamics社区 打造Myspace商务版
生成Mapping文件、编辑HQL语言的好工具
使用AppFuse框架进行开发的总结
利用AJAX与数据岛实现无刷新绑定
用Apache Velocity模板引擎速造网站(1)
用JSF与BEEHIVE PAGE FLOW开发WEB应用
在Applet中应用JDBC访问数据库
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号