2017-10-14 9 views
0

Je suis nouveau à la vitesse apache, je veux créer un objet subList à partir de la liste des objets qui proviennent de certains appels de service dans le fichier .vm.Comment créer une sous-liste à partir de la liste <Object> dans le modèle de vitesse apache .vm

Nous avons besoin de rendre la liste basée sur une partie de la logique, pour cela nous voulons créer une sous-liste à partir de la liste. $ Table.getBooks() // contient tous les objets Books Voici l'exemple de code que j'ai essayé mais qui n'a pas fonctionné. J'ai exécuté le code, tandis que le rendu $ segregatedList arrive à zéro. J'ai vérifié $ table.getBooks() contient les objets comme quand je passe ceci, les objets sont rendus avec succès. Quelqu'un peut-il dire s'il vous plaît ce que je fais mal ou comment puis-je créer une sous-liste?

Répondre

0

Tout d'abord, vous êtes indice incrément avec 4 et peut provoquer une IndexOutOfBoundsException, donc besoin de changer jusqu'à ce que size-5 (et donc décocher la case minimum de maths)

Deuxièmement vous ajoutez seul élément au lieu de tous les éléments à l'aide addAll

votre troisième vérification de la taille si le mauvais paramètre - devrait être sur pertinent $table.getBooks()

enfin Assurez-vous que votre liste ont plus de 5 éléments

#set($segregatedList = []) 
#set($size = $table.getBooks().size()) 
#foreach($index in [0..$size-5]) 
#set($value = $index + 4)  
$segregatedList.addAll($table.getBooks().subList($index, $value))) 
$index += 4 
#end