`
chenpingtai2008
  • 浏览: 57426 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Velocity 的macro(1)

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

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

1. 模版文件

#macro( d )   
<tr><td>1td>tr>  
#end   
#d()  

2. java代码

package com.lht.velocity;   
import java.io.StringWriter;   
import java.io.Writer;   
import org.apache.velocity.Template;   
import org.apache.velocity.VelocityContext;   
import org.apache.velocity.app.Velocity;   
import org.apache.velocity.tools.generic.IteratorTool;   
public class SimpleMacro {   
    public static void main(String[] args) throws Exception {   
        Velocity.init();   
  
        Template t = Velocity.getTemplate("macrodemo.vm");   
  
        VelocityContext ctx = new VelocityContext();   
        ctx.put("var", new IteratorTool());   
  
        Writer writer = new StringWriter();   
        t.merge(ctx, writer);   
  
        System.out.println(writer);   
      }   
}   

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

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

相关推荐

Global site tag (gtag.js) - Google Analytics