Velocity 为 Java Web 应用开发“增速”
完成这些准备工作后,我们接着创建一个VelocityContext对象,然后向这个对象插入数据。VelocityContext用一个HashMap来保存数据,这个HashMap的键总是来自模板的变量标识符,它的值可以是一个字符串,也可以是一个对象。后者充分显示出Velocity的强大功能,例如,假设有一个标识符为employee的Employee对象,且Employee对象有一个公用的getName方法,我们就可以在模板中以$employee.getName()的形式访问Employee对象内部的数据。
Employee对象可以通过访问数据库中的数据或其他办法创建,但Velocity根本不必了解这些细节,Velocity唯一关心的是要有一个创建好的Employee对象。相对于传统的JSP/PHP开发环境来说,Velocity的这一功能无疑带来很多方便。
很多人在Servlet框架下使用Velocity,但许多人发现,即使在其他环境下Velocity也很有用,Torque就是一个很好的例子。Torque是一个实现数据持久化的层,它能够根据XML配置文件自动生成SQL和Java代码,在生成代码的过程中,Torque要用到Velocity模板,从而实现了对多种不同数据库的支持。
另一个例子是Anakia,许多Jakarta项目用Anakia来创建文档。类似地,Anakia也要用到一个XML文件,它把XML文件和Velocity模板合并,从而得到最后的文档。这种处理方式方便了XML文件中的数据和模板文件中的显示方式的分离。
总地看来,Velocity非常适合于在现有代码项目的基础上改进应用的显示逻辑,因为对象的任何公用的方法都可以在VelocityContext中引用,从而可以在不修改现有的任何代码的前提下引入Velocity。模板和数据的分离方便了开发者和设计者的协作,使他们尽可能不依赖于对方。虽然你可以很快初步掌握Velocity模板语言,但就功能而言VTL并不寒酸,只要提供简单的模板,你就可以将数据以各种形式输出。 本文来自织梦
文章评论
共有位Admini5网友发表了评论 查看完整内容