Thymeleaf liste imbriquée/liste de tableaux - obtenir la taille totale de tous les éléments
Liste a 2 elements [0], [1].
Élément dans la liste [0] a cinq éléments dans la liste de tableaux imbriqués
[0] [1], [2], [3], [4], [5]
[1] a 4 éléments
[0], [1], [2], [3] , [4]
Comment puis-je obtenir le montant total des longueur/taille dans Thymeleaf, j'.e 9? J'ai besoin de l'utiliser à l'extérieur des boucles, si possible, pour tenir une valeur temporaire.
Qui m'amène à la question suivante, comment je peux tenir local variables personnalisées dans Thymeleaf en utilisant seulement l' .la taille et le pas de l'itération à travers la structure de données? Je suis prêt à écrire une boucle pour obtenir ce .la taille si besoin, mais je veux stocker dans une variable locale que je peux éventuellement les réutiliser plus tard dans une autre boucle!
Exemple:
<div th:each="test : ${testList}">
<div th:each="testItem : ${test.subArrayList}">
<div th:each="testItemSub : ${testItem}">
<span> Get total size of "${testItemSub.name}" and store in a variable</span>
</div>
</div>
</div>
- Avec les nouvelles versions de Thymeleaf, vous pourriez être en mesure d'utiliser ${#les listes.taille(liste)} pour la taille
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir une variable locale via le
th:with
attribut par http://www.thymeleaf.org/doc/usingthymeleaf.html#local-variables . Cependant, j'ai trouvé aucun moyen de mettre à jour cette variable locale à l'intérieur de l'élément une fois qu'elle est. En d'autres termes, contrairement à la JSP, les variables ne peuvent pas être créées et manipulées dans le modèle.Le moyen le plus facile à résoudre votre cas d'utilisation particulier serait:
ArrayList
comme paramètre et retourner le comte. Évidemment, vous pouvez mettre en œuvre toute logique vous avez besoin dans du code Java.${@myBean.doSomething()}
#ids
expression de l'utilitaire de l'objet qui vient avec Thymeleaf. Il peut être utilisé comme un compteur à l'intérieur du modèle si vous utilisez un id de''
. Toutefois, cela ne fonctionnera que si il n'y a qu'un seul compteur à l'intérieur de l'ensemble du modèle. Ref: http://www.thymeleaf.org/doc/usingthymeleaf.html#idsExemple d'utilisation de
#ids
basé sur la question d'origine:${#strings.replace(#ids.seq('imageThumbs'),'imageThumbs','')}