template name language for concatenar loops for-loop velocity

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.