How to call a variable in velocity template with a for loop?

Hi, I have tried to use a for loop in velocity template in JEMHC, but the for loop is not working and it seems cannot be recognize with $i. How come? 

<a href="$fields.attachment[$i].content.asText()"> $fields.attachment[$i].filename.asText()<br> is working for hardcoding with number replacing $i.

 

#set($i=0)
#foreach ($i in [0..$fields.attachment.length])
<a href="$fields.attachment[$i].content.asText()"> $fields.attachment[$i].filename.asText()<br>
#set($i = $i + 1)
#end

 

1 answer

1 accepted

0 vote

Karmen,

The loop can also be written like

#foreach($attachment in $fields.attachment)

    <a href="$attachment.content.asText()"> $attachment.filename.asText()<br>

#end

Can you confirm $fields.attachment actually returns a value? What is the type for fields object you are referring to?

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Thursday in Stride

Get Started in Stride in 3 Easy Steps

Get started on Stride in 3 easy steps   If you’re new to Stride, welcome! We’re super excited to have you aboard. Stride is easy to use and set up, so don’t worry about reading tons of borin...

48 views 0 2
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you