[JAVA] Thymeleaf: Ausgabe mit einem Trennzeichen bei Ausgabe mit th: each

Einführung

Es ist leicht zu vergessen, ob Sie es nach langer Zeit tun, obwohl Sie es mit Thymeleaf schnell tun können. Notieren Sie es sich also.

Was du machen willst

Wenn Sie Informationen ausgeben, die in einer Sammlung wie List with thymeleaf gespeichert sind, möchte ich sie mit einem Trennzeichen wie einem Lesepunkt "," oder einer diagonalen Linie "/" ausgeben.

Listenbild


{
	"Fruits": [
		{
			"name": "Apfel"
		},
		{
			"name": "Mandarine"
		},
		{
			"name": "Banane"
		}
	]
}

Ausgabeergebnis


Äpfel, Orangen, Bananen

Weise

Schritt 1 Ausgabe vorerst

Ausgabe vorerst


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

Ausgabeergebnis


Apfel-Orangen-Banane

Schritt 2 Zeigen Sie den Lesepunkt an

python


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

Damit erscheint natürlich ein Lesepunkt hinter der Banane.

Ausgabeergebnis


Äpfel, Orangen, Bananen,

Schritt 3 Bedingte Verzweigung mit dem letzten Parameter der Statusvariablen

python


<th:block th:each="fruit, iterStat:${fruits}"> <!--Statusvariablen können als zweites Argument empfangen werden, getrennt durch Kommas-->
  <span th:text="${fruit.name}"></span>
  <span th:unless="${iterStat.last}">、</span><!--Die letzte Variable gibt am Ende der Schleife true zurück-->
</th:block>

Jetzt können Sie das "," nur am Ende der Schleife ausblenden: entspannt:

Ausgabeergebnis


Äpfel, Orangen, Bananen

Neben last gibt es noch einige andere Parameter in der Statusvariablen. Sie können sich also freuen, wenn Sie sich an diese erinnern und sie verwenden. Referenz) [Tutorial: Verwenden von Thymeleaf (ja) 6.2 Beibehalten des wiederholten Status](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)

Bonus

Wie in Tutorial: Verwenden von Thymeleaf erwähnt, muss iterStat nicht explizit geschrieben werden. Wenn nicht angegeben, wird implizit ein Variablenname mit Stat nach der sich wiederholenden Variablen (Frucht) erstellt. Ich denke, es ist besser, es in Bezug auf die Lesbarkeit zu schreiben, aber dieses ist sauberer.

python


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

Ende

Recommended Posts

Thymeleaf: Ausgabe mit einem Trennzeichen bei Ausgabe mit th: each
Anmerkungen um th: Feld th: jedes th: Objekt von Thymeleaf
Verwendung eines versteckten Typs beim PUT mit Thymeleaf
04. Ich habe mit SpringBoot + Thymeleaf ein Frontend gemacht