Comment créer un tableau dans VTL et ajouter du contenu au tableau ? Aussi comment récupérer le contenu du tableau par index ?
Réponses
Trop de publicités?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]
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.