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.