Display a list of java objects in velocity templates as html table
14,915
Try the following:
<tbody>
#foreach( $obj in $objs )
<tr><td>$obj.Item1</td><td>$obj.Item2</td></tr>
#end
<tbody>
I assume that your list is put on the velocity context under the name objs
and your SomeObject
class has 2 fields: item1 and item2 with coresponding getters.
List<SomeObject> objs = ... //prepopulated
context.put("objs", objs);
See more on the velocity documentation.
Author by
NEO
Updated on June 29, 2022Comments
-
NEO almost 2 years
I am fetching a list of objects from DB. I would like to populate them in to a html table using velocity templates.
<table> <thead> <tr> <td>$value1 </td> <td>$value2 </td> </tr> </thead> <tbody> <!-- Iterate through the list (List<SomeObject>) and display them here, --> </tbody> </table>
For headers I am using the below code,
VelocityContext context = new VelocityContext(); context.put("value1", "text1"); context.put("value2", "text2");
I get data from objects as below,
List<SomeObject> obj = new ArrayList<SomeObject>(); obj.getItem1(); obj.getItem2();
All the individual items are Strings. How to populate the table body content?