Are you in the loop? Keep up with the latest by making sure you're subscribed to Community Announcements. Just click Watch and select Articles.

Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root


1 badge earned


Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!


Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.


Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!


How to get string list values in velocity template? foreach loop for 3 lists

Hi All,

I have 3 String lists(lets say ListA, ListB and ListC) in my java class which maps to velocity template. I need to display the values of the list in a table.

As velocity allows only foreach loop i can get values of only one list. is there a way to get values from all three lists?

If not in foreach loop, how to access the list values through its index?


Any inputs will be much appreciated.


2 answers

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted


with a little more investigation i found the answer.

from java class, lets say we have following code with populateVelocityParams method

//Map the below java utils List class 


then in velocity template, 

just call 

//"index" here is the list integer index position in ListA



Sharath TS

Velocity does not iterate Lists, as far as I can tell.

Velocity documentation says that it iterates over Vector, Hashtable, or an array (not a List).

In my experience, that is true. 

I tried to make my velocity template iterate over a List and it did nothing.  I converted my List to an array and it worked fine.

I know that this thread is really old but other, newer, threads point to it (that's how I found it) and this thread made me think I could iterate over a List.  I could not.

I am developing a Confluence plugin, don't know if my pom.xml versions are out of date and some new Velocity engine or Atlassian ingredient changes things but beware:  in my case, Velocity does NOT iterate over a List.  It will, however iterate just fine over an array.


My template:

#foreach($result in $results)


My getter in Java:

public String[] getResults() {
return results;


For my first try, using List<String> for my results the template rendered nothing for my List.  I went with an array and it works.  Decided not to mess with Vector for various reasons.

AUG Leaders

Atlassian Community Events