J'ai déjà posté une question similaire il y a une semaine sur Comment utiliser la boucle 'for' dans le modèle de vitesse? .
Donc ... fondamentalement, je ne peux pas utiliser la boucle "for" dans un modèle de vélocité.
Disons que j'ai une variable qui contient un entier 4. Je veux afficher quelque chose quatre fois en utilisant cette variable. Comment le faire dans un modèle de vitesse?
Essayez de le faire comme ceci:
#set($start = 0)
#set($end = 4)
#set($range = [$start..$end])
#foreach($i in $range)
doSomething
#end
Le code n'a pas été testé, mais il devrait fonctionner comme ceci.
Vous n'êtes pas obligé d'utiliser le #set
comme la réponse acceptée. Vous pouvez utiliser quelque chose comme ceci:
#foreach($i in [1..$end])
LOOP ITERATION: $i
#end
Si vous voulez indexer zéro, vous devez utiliser un #set
car vous ne pouvez pas en soustraire un dans l'opérateur de plage:
#set($stop = $end - 1)
#foreach($i in [0..$stop])
LOOP ITERATION: $i
#end
Juste pour ajouter une autre option à la réponse de Stephen Ostermiller, vous pouvez également créer une boucle zéro indexée en utilisant $foreach.index
. Si vous voulez boucler $n
fois:
#foreach($unused in [1..$n])
zero indexed: $foreach.index
#end
ici, $unused
n'est pas utilisé, et nous utilisons plutôt $foreach.index
pour notre index, qui commence à 0.
Nous commençons la plage à 1 car elle est inclusive, et donc elle bouclera avec $unused
étant [1, 2, 3, 4, 5], tandis que $foreach.index
est [0, 1, 2, 3, 4].
Voir le guide de l'utilisateur pour en savoir plus.