Home Apachevelocity Define and use Macro in Velocity

Related Tutorials


 
 

Share on Google+Share on Google+

Define and use Macro in Velocity

Advertisement
This Example shows you how to define and use macro in velocity template and also shows how to use Iterator in velocity template.

Define and use Macro in Velocity

     

This Example shows you how to define and use macro in velocity  template and also shows how to use Iterator in velocity  template. The method used in this example are described below:-  
1:- Initialize velocity run time engine through method  init().
2:- Create object of VelocityContext Class.
3:- Create Template class object, Template  class object is used for controlling template methods and properties.

template.merge(context, writer): Merge method of the Template class is used here for merging  the VelocityContext class object to produce the output.

#add($list): This is method defined in
UseMacro.vm file and then call this method that adds all the items of given list and sum will show as output.

 

UseMacro.java

import java.io.*;

import org.apache.velocity.*;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.tools.generic.RenderTool;

public class UseMacro {

  public static void main(String[] argsthrows Exception {
  Velocity.init();
  Template template = Velocity.getTemplate("./src/UseMacro.vm");

  VelocityContext context = new VelocityContext();

  Writer writer = new StringWriter();
  template.merge(context, writer);

  System.out.println(writer);
  }
}

UseMacro.vm
#macro(add $list)
#set($total=0)
#foreach($item in $list)
$item
#set($total =$total+$item)
#end
--------------
total = $total
#end

#set ($list = [122])
#add($list)

Output:
1
2
2
--------------
total =  5

Download code
Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: August 27, 2008

Related Tutorials

Discuss: Define and use Macro in Velocity  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0
DMCA.com