Velocity Macro with Parameters

This Example shows you how to use macro with parameters in velocity template.

Ads

Velocity Macro with Parameters

     

This Example shows you how to use macro with parameters in velocity  template.

Example given below show you, how to display date and time velocity. 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. Template  class object is used for controlling template methods and properties.

#add($list): This method is used to call the add function created above.

 

MacroWithParameter.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/MacroWithParameter.vm");

  VelocityContext context = new VelocityContext();

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

  System.out.println(writer);
  }
}

MacroWithParameter.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

Advertisements

Ads
Share on Google+Share on Google+

Velocity Macro with Parameters

Posted on: August 27, 2008 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Advertisements

 

Discuss: Velocity Macro with Parameters  

Post your Comment


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

Ads

 

Ads