40 votes

Créer et itérer à travers un tableau en langage de modèle de vitesse

Comment créer un tableau dans VTL et ajouter du contenu au tableau ? Aussi comment récupérer le contenu du tableau par index ?

13voto

Andrea Zenatti Points 131

Créer un tableau est facile :

#set($array = [])

Il est également facile de placer un élément dans un tableau :

$array.add(23)

L'obtention d'un élément à partir d'un tableau dépend de votre version de Velocity. Dans Velocity 1.6, vous devez utiliser

$array.get($index)

Depuis Velocity 1.7, vous pouvez utiliser la forme classique :

$array[$index]

1voto

Ozgur Ozturk Points 83

Je n'ai pas créé de tableau dans VTL, mais j'ai passé les tableaux au contexte VTL et je les ai utilisés. Dans VTL, vous ne pouvez pas récupérer le contenu du tableau par index, vous n'utilisez que foreach, car par exemple ce code est copié à partir de mon script VTL de génération Dynamic SQL :

#foreach( $col in $Columns ) SUM($col.DBColumn) AS ''$col.Name''#if($velocityCount!=$Columns.Count),   #end  #end 

Pour cette raison, nous ne pouvons pas non plus avoir de tableaux 2D. Quand j'avais besoin d'un tableau pour stocker 2 objets dans une rangée, j'ai utilisé la solution de contournement consistant à définir une nouvelle classe et à placer les objets de cette classe dans le tableau unidimensionnel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X