Iterácia na Thymeleaf

1. Prehľad

Thymeleaf je univerzálny modul šablón Java na spracovanie dokumentov XML, XHTML a HTML5.

V tomto rýchlom výučbe sa pozrieme na to, ako môžeme vykonávať iteráciu s Thymeleaf, spolu s niektorými ďalšími funkciami, ktoré poskytuje knižnica.

Viac informácií o Thymeleaf nájdete v našom úvodnom článku tu.

2. Maven závislosti

Na vytvorenie tohto príkladu budeme používať knižnice Spring Framework spolu s knižnicami Thymeleaf.

Tu vidíme naše závislosti (thymeleaf a thymeleaf-spring):

 org.thymeleaf thymeleaf 3.0.11.RELEASE org.thymeleaf thymeleaf-spring5 3.0.11.RELEASE 

3. Príklad nastavenia

Predtým, ako skočíme do vrstvy zobrazenia, vytvorme pre náš príklad štruktúru MVC.

Počnúc úryvkom kódu modelovej vrstvy:

verejná trieda Študent implementuje Serializable {private Integer id; súkromné ​​meno reťazca; // štandardné kontruktory, getre a setre}

Poskytneme tiež metódu ovládača zodpovednú za načítanie modelu a jeho vrátenie do vrstvy zobrazenia:

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

V našej vzorke nad buildStudents () metóda jednoducho vráti zoznam Študent objekty, ktoré potom pridáme do Model.

4. The th: každý Atribút

V Thymeleaf sa iterácia dosahuje použitím th: každý atribút.

Jednou zo zaujímavostí tohto atribútu je tá bude akceptovať a iterovať cez rôzne typy údajov, ako napríklad:

  • realizácia objektov java.util.Iterable
  • realizácia objektov java.util.Map
  • polia
  • s akýmkoľvek iným objektom sa zaobchádza, akoby išlo o zoznam s jednou hodnotou obsahujúci jeden prvok

Teraz vyvolajme th: každý atribút s údajmi, ktoré sme nastavili v našom príklade vyššie:

Útržok kódu zobrazuje znak th: každý iterácia nášho zoznamu Študenti. Atribút modelu je prístupný pomocou ${} notáciaa každý prvok zo zoznamu je odovzdaný do tela slučky cez študent premenná.

5. Stavová premenná

Thymeleaf tiež umožňuje užitočný mechanizmus na sledovanie procesu iterácie prostredníctvom stavovej premennej.

Premenná stavu poskytuje nasledujúce vlastnosti:

  • index: aktuálny index iterácie, začínajúci na 0 (nula)
  • počítať: počet doteraz spracovaných prvkov
  • veľkosť: celkový počet prvkov v zozname
  • Párny Nepárny: skontroluje, či je aktuálny index iterácie párny alebo nepárny
  • najprv: skontroluje, či je aktuálna iterácia prvá
  • posledný: skontroluje, či je aktuálna iterácia posledná

Pozrime sa, ako funguje premenná stavu v našom príklade:

Sem sme zahrnuli iStat.odd vlastnosť na vyhodnotenie podmienky a nastavenie tučného štýlu pre aktuálny riadok. To isté sa robí pri ďalšom hodnotení, ale tentokrát používame iStat.aj vytlačiť hodnotu pomocou atribútu HTML alt / title.

V prípade, že vynecháme explicitné vytvorenie stavovej premennej (prezentovanej ako iStat v našom príklade), našu stavovú premennú by sme mohli vyvolať jednoduchým použitím studentStat, čo je agregácia premennej študent s príponou Stat.

6. Záver

V tomto článku sme preskúmali jednu z mnohých funkcií, ktoré poskytuje knižnica Thymeleaf.

Iteráciu sme prezentovali v Thymeleaf pomocou atribútu th: každý, spolu s jeho out-of-the-box vlastnosti.

Pracovná verzia kódu zobrazeného v tomto článku je k dispozícii v našom úložisku GitHub.


$config[zx-auto] not found$config[zx-overlay] not found