How to use List in velocity
This
Example shows you how
to use List in 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.
#foreach(
$stu in $stuList ): This is like the for loop statement but it has some
different and enhanced functionality.
java.MapClass.java
import java.io.*;
import java.util.*;
import org.apache.velocity.*;
import org.apache.velocity.app.*;
public class
ListClass
{
public static void main(String[] args)
throws Exception {
VelocityEngine ve = new VelocityEngine();
ve.init();
ArrayList list = new ArrayList();
Map map = new HashMap();
map.put("rno", "1");
map.put("name", "komal");
map.put("libno", 1001);
list.add(map);
map = new HashMap();
map.put("rno", "2");
map.put("name", "santosh");
map.put("libno", 1002);
list.add(map);
map = new HashMap();
map.put("rno", "3");
map.put("name", "ajay");
map.put("libno", 1003);
list.add(map);
VelocityContext context = new VelocityContext();
context.put("stuList", list);
Template t = ve.getTemplate("./src/velocity/XMLOutput/xml.vm");
StringWriter writer = new StringWriter();
t.merge(context, writer);
System.out.println(writer.toString());
}
}
|
map.vm
Student:
#foreach( $stu in $stuList )
$stu.rno
$stu.name
$stu.libno
#end
|
Output :
Student:
1
komal
1001
2
Santosh
1002
3
Ajay
1003 |
Download code