[JAVA] Thymeleaf: sortie avec un délimiteur lors de la sortie avec th: each

introduction

Il est facile d'oublier si vous le faites après une longue période, même si vous pouvez le faire rapidement avec Thymeleaf, alors prenez-en note.

Chose que tu veux faire

Lors de la sortie des informations stockées dans une collection telle que List with thymeleaf, je veux les sortir avec un délimiteur tel qu'un point de lecture "," ou une ligne diagonale "/".

Image de liste


{
	"Fruits": [
		{
			"name": "pomme"
		},
		{
			"name": "Mandarine"
		},
		{
			"name": "banane"
		}
	]
}

Résultat de sortie


Pommes, oranges, bananes

manière

Étape 1 Sortie pour le moment

Sortie pour le moment


<th:block th:each="fruit:${fruits}">
  <span th:text="${fruit.name}"></span>
</th:block>

Résultat de sortie


Pomme orange banane

Étape 2 Afficher le point de lecture

python


<th:block th:each="fruit:${fruits}">
  <span th:text="${fruit.name}"></span>
  <span>、</span>
</th:block>

Bien sûr, avec cela, un point de lecture apparaîtra derrière la banane.

Résultat de sortie


Pommes, oranges, bananes,

Étape 3 Branchement conditionnel à l'aide du dernier paramètre de la variable d'état

python


<th:block th:each="fruit, iterStat:${fruits}"> <!--Les variables d'état peuvent être reçues comme deuxième argument, séparées par des virgules-->
  <span th:text="${fruit.name}"></span>
  <span th:unless="${iterStat.last}">、</span><!--la dernière variable retourne true à la fin de la boucle-->
</th:block>

Vous pouvez désormais masquer le "," uniquement à la fin de la boucle: détendu:

Résultat de sortie


Pommes, oranges, bananes

Il y a quelques autres paramètres dans la variable status en plus de last, donc vous serez peut-être heureux si vous vous en souvenez et les utilisez. Référence) [Tutoriel: Utilisation de Thymeleaf (ja) 6.2 Conserver l'état répété](https://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf_ja.html#%E7%B9%B0%E3%82%8A% E8% BF% 94% E3% 81% 97% E3% 82% B9% E3% 83% 86% E3% 83% BC% E3% 82% BF% E3% 82% B9% E3% 81% AE% E4% BF% 9D% E6% 8C% 81)

prime

Comme mentionné dans Tutoriel: Utilisation de Thymeleaf, iterStat n'a pas besoin d'être écrit explicitement. S'il est omis, un nom de variable avec Stat ajouté après la variable répétitive (fruit) est créé implicitement. Je pense qu'il vaut mieux l'écrire en termes de lisibilité, mais celui-ci est plus propre.

python


<th:block th:each="fruit :${fruits}">
  <span th:text="${fruit.name}"></span>
  <span th:unless="${fruitStat.last}">、</span>
</th:block>

fin

Recommended Posts

Thymeleaf: sortie avec un délimiteur lors de la sortie avec th: each
Notes autour de th: champ th: each th: objet de thymeleaf
Utilisation du type caché lors du PUT avec Thymeleaf
04. J'ai fait un frontal avec SpringBoot + Thymeleaf