如果你对struts和velocity都不陌生,那么就请往下看吧。
我想大家对Struts都应该不会陌生,过去的几年里,Struts占去了MVC模式开发Web应用的大半江山,关于Struts的话题网络上有太多太多了。Velocity是近一两年才火起来的,它是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。有兴趣的朋友可以参照http://www.junesky.org/blog/article.asp?id=14,也可以在官网http://jakarta.apache.org/velocity/index.html 上了解更多Velocity的最新信息。
既然Struts与Velocity都是如此出色,并且它们关注的方面也不相同,何不将其优点集中起来进行开发呢?关于Struts和Velocity的配置方法请参照http://www-128.ibm.com/developerworks/cn/java/j-sr1.html 这上面已经说的非常详细了,这里我们就不在说明了。请注意,以下步骤都是建立在环境都已配置成功的基础之上的。所以,在进行以下步骤之前,请确保你的环境已经配置成功。
根据上面的文章配置好环境后,就可以进行开发了。不过这里需要提醒各位一点,在配置toolbox.xml的时候,记得要先在这里http://jakarta.apache.org/velocity/index.html 下载velocityTools,并将其拷贝至lib目录下后,才可以启动web容器,否则报错。这是因为在toolbox.xml配置了velocitytools中的类库。
在开始我们的例子前需要说明一下,这篇文章并不打算讲解如何使用struts和velocity,而是将目标锁定在struts和velocity的协同工作上面。
一切准备就绪后,就开始我们的第一个例子吧。
1、建立一个test.vm文件,和jsp放在同一目录中。
程序代码
%@ page pageEncoding="utf-8"%>
%
request.setCharacterEncoding("utf-8");
%>
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
title>struts velocity 六月天
/head>
body>
${test.getTest()} //注意这里使用了velocity代码,从test对象中取数据。