loops - name - Plantilla "for" loop in velocity
velocity html template (3)
Ya publiqué una pregunta similar hace una semana sobre ¿Cómo usar el bucle ''for'' en la plantilla de velocidad? .
Entonces ... básicamente no puedo usar el bucle ''for'' en una plantilla de velocidad.
Digamos que tengo una variable que contiene entero 4. Quiero mostrar algo cuatro veces usando esa variable. ¿Cómo lo hago en una plantilla de velocidad?
Intenta hacerlo así:
#set($start = 0)
#set($end = 4)
#set($range = [$start..$end])
#foreach($i in $range)
doSomething
#end
El código no ha sido probado, pero debería funcionar así.
No tiene que usar #set
como la respuesta aceptada. Puedes usar algo como esto:
#foreach($i in [1..$end])
LOOP ITERATION: $i
#end
Si quiere indexar cero, tiene que usar un #set
porque no puede restar uno dentro del operador de rango:
#set($stop = $end - 1)
#foreach($i in [0..$stop])
LOOP ITERATION: $i
#end
Solo para agregar otra opción a la respuesta de Stephen Ostermiller, también puede crear un ciclo sin índice usando $foreach.index
. Si desea hacer un bucle $n
veces:
#foreach($unused in [1..$n])
zero indexed: $foreach.index
#end
aquí, $unused
no se usa, y en su lugar usamos $foreach.index
para nuestro índice, que comienza en 0.
Comenzamos el rango en 1 ya que es inclusivo, por lo que se repetirá con $unused
[1, 2, 3, 4, 5], mientras que $foreach.index
es [0, 1, 2, 3, 4].
Consulte la guía del usuario para más información.