Iteráció a Thymeleaf-ban

1. Áttekintés

Thymeleaf az sokoldalú Java sablonmotor XML, XHTML és HTML5 dokumentumok feldolgozásához.

Ebben a gyors bemutatóban megvizsgáljuk, hogyan tudjuk végrehajtani az iterációt a Thymeleaf-tel, valamint a könyvtár néhány egyéb szolgáltatásával.

A Thymeleaf-ről további információkért tekintse meg itt a bevezető cikkünket.

2. Maven-függőségek

A példa elkészítéséhez a Spring Framework könyvtárakat fogjuk használni a Thymeleaf könyvtárakkal együtt.

Itt láthatjuk függőségeinket (timeleaf és thymeleaf-spring):

 org.thymeleaf thymeleaf 3.0.11.KÖZLEMÉNY org. thymeleaf thymeleaf-spring5 3.0.11. 

3. Példa a beállításra

Mielőtt a nézőrétegbe ugranánk, hozzuk létre az MVC struktúrát a példánkhoz.

A modellrészlet kódrészletével kezdve:

nyilvános osztály Hallgató megvalósítja a Serializálható {privát egész szám azonosítót; privát karakterlánc neve; // szabványos kivitelezők, mérőeszközök és beállítók}

Adjuk meg a modell betöltéséért és a nézeti rétegbe való visszatérésért felelős vezérlő módszert is:

@GetMapping ("/ listStudents") public String listStudent (Model model) {model.addAttribute ("students", StudentUtils.buildStudents ()); return "listStudents.html"; }

A fenti mintánkban a buildStudents () metódus egyszerűen visszaadja a Diák objektumokat, amelyeket ezután hozzáadunk a modell.

4. A th: mindegyik Tulajdonság

A Thymeleaf-ben az iterációt a th: mindegyik tulajdonság.

Az attribútum egyik érdekessége az elfogadja és iterál néhány különböző adattípust, mint például:

  • objektumok megvalósítása java.util.Ilmélhető
  • objektumok megvalósítása java.util.Térkép
  • tömbök
  • bármely más objektumot úgy kezelünk, mintha egyértékű lista lenne, amely egy elemet tartalmaz

Most hívjuk meg a th: minden attribútum a fenti példánkban beállított adatokkal:

A kódrészlet a th: mindegyik ismétlődik a listánkon Diákok. A modell attribútumhoz a ${} jelölés, és a lista minden elemét a ciklus törzséhez továbbítja a diák változó.

5. Állapotváltozó

Thymeleaf is hasznos mechanizmus lehetővé teszi az iterációs folyamat nyomon követését az állapotváltozón keresztül.

Az állapotváltozó a következő tulajdonságokat biztosítja:

  • index: az aktuális iterációs index kezdve 0-val (nulla)
  • számol: az eddig feldolgozott elemek száma
  • méret: a lista összes elemének száma
  • Páros Páratlan: ellenőrzi, hogy az aktuális iterációs index páros vagy páratlan-e
  • első: ellenőrzi, hogy az aktuális iteráció-e az első
  • utolsó: ellenőrzi, hogy az aktuális iteráció az utolsó-e

Nézzük meg, hogyan működik az állapotváltozó a példánkban:

Itt felvettük a iStat.odd tulajdonság a feltétel kiértékeléséhez és félkövér stílus beállításához az aktuális sorhoz. Ugyanez történik a következő értékelésnél is, de ezúttal mi használjuk iStat.even érték nyomtatásához az alt / title HTML attribútumon keresztül.

Abban az esetben, ha kihagyjuk az állapotváltozó explicit létrehozását (mint iStat példánkban), meghívhatjuk állapotváltozónkat a studentStat, amely a változó összesítése diák utótaggal Statisztika.

6. Következtetés

Ebben a cikkben a Thymeleaf könyvtár számos szolgáltatásának egyikét tártuk fel.

Az iterációt a Thymeleaf-ben mutattuk be az attribútum használatával th: mindegyik, a dobozon kívüli tulajdonságokkal együtt.

Az ebben a cikkben bemutatott kód működő verziója elérhető a GitHub-tárunkban.