Use macro to wrap HTML tags in velocity

This
Example shows you how
to use
macro to wrap HTML tag 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. Template class object is used for
controlling template methods and properties.
#macro( function ): This is the method for creating function in .vm
file.
#function(): By
using this we will call the function created previously.
MacroToWrapHTML.java
import java.io.*;
import org.apache.velocity.*;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.tools.generic.IteratorTool;
public class MacroToWrapHTML {
public static void main(String[] args) throws Exception {
Velocity.init();
Template template = Velocity.getTemplate("./src/MacroToWrapHTML.vm");
VelocityContext context = new VelocityContext();
context.put("var", new MacroToWrapHTML());
Writer writer = new StringWriter();
template.merge(context, writer);
System.out.println(writer);
}
}
|
MacroToWrapHTML.vm
#macro( function )
<tr>
<td>
komal
</td>
</tr>
#end
#function()
|
Output:
Download code

|