How to use foreach loop in velocity

This
Example shows you how
to use foreach loop 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. #set($list = ["A", "B", "C", "D", "E"]):
This is a statement named set it generally begins with # character. Here we have assign the list with character $. #foreach($item in
$list): This works like for loop in java but it has some enhanced
functionality. In for loop you can initialize variable, condition check and then
increment the variables but in foreach loop no need to initialize or
increment. In for loop user must know the limit of the loop but with foreach
loop no need to know that limit.
Loop.java
import java.io.*;
import org.apache.velocity.*;
import org.apache.velocity.app.*;
import org.apache.velocity.tools.generic.IteratorTool;
public class Loop {
public static void main(String[] args) throws Exception {
Velocity.init();
Template template = Velocity.getTemplate("./src/loop.vm");
VelocityContext context = new VelocityContext();
context.put("var", new Loop());
Writer writer = new StringWriter();
template.merge(context, writer);
System.out.println(writer);
}
}
|
loop.vm
#set($list = ["A", "B", "C", "D", "E"])
#foreach($item in $list)
$item
#end
|
Output:
Download code

|