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多次那么这断代码将会被执行多次,这其实就类似于函数的调用。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值