1. 什么是velocity

  Velocity[vəˈlɑ:səti],名称字面翻译为:速度、速率、迅速。该项目的开源地址:http://velocity.apache.org/,它是一个基于Java的模板引擎,什么叫基于Java的模板引擎,就是说,在velocity中可以直接引用Java定义的对象。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。

2. Velocity是怎么被解析的

  我们知道使用jsp技术,让Java代码出现在view层,不易于维护,增加了前端代码量。而velocity则正是jsp技术的替代者。velocity是一种template引擎,利用先编辑完的格式来作为大纲,把一些需要变化的地方作为参数传入,显示时将模板和参数合并,达到最终输出的样子。

3. Velocity渲染过程 

  1. 首先初始化启动Velocity引擎,可以通过 Velocity.init()或者新建VelocityEngine类,并调用其中的init()方法; 
  2. 创建一个 VelocityContext对象,将变量名与值关联起来,与HashMap对象相类似。可以直接将值传递给页面进行引用;
  3. 获取一个模板,利用Velocity.getTemplate()获取一个渲染模板,即要将数据最终渲染在哪个页面上去。
  4. 创建一个输出流,将上述创建的数据最终渲染到模板上,采用的方法template.merge()。
 1 try {
 2             Velocity.init("velocity.properties");
 3             VelocityContext context = new VelocityContext();
 4             String templateFile = "template.vm";
 5             context.put("paramObject", "onlyone");
 6             Template template = null;
 7             template = Velocity.getTemplate(templateFile);
 8             BufferedWriter writer = new BufferedWriter(new FileWriter("velocity.data"));
 9             if (template != null) template.merge(context, writer);
10             writer.flush();
11             writer.close();
12         } catch (Exception e) {
13             e.printStackTrace();
14         }
代码示例

相关文章:

  • 2022-12-23
  • 2021-06-15
  • 2022-12-23
  • 2021-12-23
  • 2021-06-26
  • 2022-02-22
  • 2021-09-04
  • 2022-12-23
猜你喜欢
  • 2022-03-08
  • 2022-03-05
  • 2021-09-04
  • 2021-10-15
  • 2021-12-26
  • 2022-01-10
  • 2022-12-23
相关资源
相似解决方案