`
VerRan
  • 浏览: 452718 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

Velocity 的macro(1)

阅读更多

macro
是Velocity中的宏,开始不怎么理解它的作用就在网上搜索了下,在百度中是没有什么收获,google下觉得这个宏其实就相当于函数一样,你定义好后只要调用他的名称就可以执行其内部的东西了,下面举例说明下:

功能:这里利用客户端代码进行测试,功能是显示由#macro体内部的信息。

1. 模版文件

  1. #macro( d )   
  2. <tr><td>1td>tr>  
  3. #end   
  4. #d()  

2. java代码

  1. package com.lht.velocity;   
  2. import java.io.StringWriter;   
  3. import java.io.Writer;   
  4. import org.apache.velocity.Template;   
  5. import org.apache.velocity.VelocityContext;   
  6. import org.apache.velocity.app.Velocity;   
  7. import org.apache.velocity.tools.generic.IteratorTool;   
  8. public class SimpleMacro {   
  9.     public static void main(String[] args) throws Exception {   
  10.         Velocity.init();   
  11.   
  12.         Template t = Velocity.getTemplate("macrodemo.vm");   
  13.   
  14.         VelocityContext ctx = new VelocityContext();   
  15.         ctx.put("var"new IteratorTool());   
  16.   
  17.         Writer writer = new StringWriter();   
  18.         t.merge(ctx, writer);   
  19.   
  20.         System.out.println(writer);   
  21.       }   
  22. }   

3. 输出结果
  1. <tr><td>1td>tr>  

4. 说明
如果你调用#d多次那么这断代码将会被执行多次,这其实就类似于函数的调用。。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics