Spring and Thymeleaf 3: Expressions

1. Úvod

Thymeleaf je šablónový engine Java pre spracovanie a vytváranie HTML, XML, JavaScript, CSS a obyčajného textu. Pre úvod do Thymeleaf a Spring si prečítajte tento článok.

Okrem týchto základných funkcií nám Thymeleaf ponúka aj sadu úžitkových objektov, ktoré nám pomôžu vykonávať bežné úlohy v našej aplikácii.

V tomto článku si ukážeme základnú funkciu v Thymeleaf 3.0 - Expression Utility Objects v jarných aplikáciách MVC. Konkrétnejšie sa budeme venovať téme spracovania dátumov, kalendárov, reťazcov, objektov a oveľa viac.

2. Maven závislosti

Najskôr sa pozrime na požadovanú konfiguráciu potrebnú na integráciu Thymeleaf s Spring. The tymianovy-jar v našich závislostiach sa vyžaduje knižnica:

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

Upozorňujeme, že v prípade projektu na jar 4 sa projekt thymeleaf-spring4 namiesto. musí byť použitá knižnica thymeleaf-spring5. Najnovšiu verziu závislostí nájdete tu.

3. Expression Utility Objects

Predtým, ako sa pozriete na hlavné zameranie tohto zápisu, ak sa chcete vrátiť o krok späť a zistiť, ako nakonfigurovať Thymeleaf 3.0 vo vašom projekte webovej aplikácie, pozrite si tento návod.

Pre účely tohto článku sme vytvorili radič Spring a súbor HTML - aby sme vyskúšali všetky funkcie, o ktorých budeme diskutovať. Nasleduje kompletný zoznam dostupných pomocných objektov a ich funkcií:

  • #termíny: úžitkové metódy pre java.util.Date predmety
  • #calendars: podobný #termíny, používa java.util.Calendar predmety
  • # čísla: užitočné metódy na formátovanie číselných objektov
  • # struny: úžitkové metódy pre String predmety
  • #objects: obslužné metódy pre Javu Objekt trieda všeobecne
  • #bools: úžitkové metódy pre boolovský hodnotenie
  • # polia: úžitkové metódy pre polia
  • # zoznamy: užitočné metódy pre zoznamy
  • #sety: úžitkové metódy pre množiny
  • #mapy: úžitkové metódy pre mapy
  • #agregates: užitočné metódy na vytváranie agregátov v poliach alebo kolekciách
  • #správy: užitočné metódy na získanie externalizovaných správ vo výrazoch premenných

3.1. Datuje objekty

Prvou funkciou, o ktorej chceme diskutovať, je spracovanie súboru java.util.Date predmety. Zodpovedné objekty výrazu dátum spracovanie začína s # dates.functionName (). Prvou funkciou, ktorú chceme pokryť, je formátovanie a Dátum objekt (ktorý je pridaný k parametrom modelu Spring).

Povedzme, že to chceme použiť ISO8601 formát:

Bez ohľadu na to, aké sú naše dátum bol nastavený na zadnej strane, je potrebné ho zobraziť v súlade s touto normou. A čo viac, ak chceme byť konkrétni formátom, môžeme ho určiť manuálne:

Funkcia berie ako parametre dve premenné: Dátum a jeho formát.

Na záver uvádzame niekoľko podobne užitočných funkcií, ktoré môžeme použiť:

V prvom dostaneme názov dňa v týždni, v druhom vytvoríme nový Dátum objekt a nakoniec vytvoríme nový Dátum s časom nastaveným na 00:00.

3.2. Objekty kalendára

Pomôcky kalendára sú veľmi podobné spracovaniu dátumov, až na to, že používame inštanciu java.util.Calendar objekt:

Rozdiel je iba v tom, keď chceme vytvárať nové Kalendár inštancia:

Upozorňujeme, že môžeme použiť akýkoľvek Kalendár triedna metóda za účelom získania požadovaných údajov.

3.3. Spracovanie čísel

Ďalšou veľmi užitočnou funkciou je spracovanie čísel. Zamerajme sa na a číslo premenná, náhodne vytvorená pomocou a dvojitý typ:

V prvom riadku formátujeme desatinné číslo nastavením minimálnych celočíselných číslic a presných desatinných číslic. V druhej sme okrem celočíselných a desatinných číslic určili oddeľovač desatinných miest. Možnosti sú BOD, KOMMA, BIELY VESMÍR, ŽIADNE alebo VÝCHODNÉ (podľa miestneho nastavenia).

V tomto odseku chceme predstaviť ešte jednu funkciu. Jedná sa o vytvorenie postupnosti celých čísel:

V prvom príklade sme nechali Thymeleaf vygenerovať sekvenciu od 0-2, zatiaľ čo v druhom sme okrem minimálnej a maximálnej hodnoty poskytli definíciu kroku (v tomto príklade sa hodnoty zmenia o dve).

Upozorňujeme, že interval je uzavretý na oboch stranách.

3.4. Sláčikové operácie

Je to najkomplexnejšia vlastnosť objektov obslužných výrazov.

Popis môžeme začať užitočnosťou kontroly prázdnych alebo nulovýString predmety. Vývojári na to často používali metódy Java vo vnútri značiek Thymeleaf, čo by pre nich mohlo byť bezpečné nulový predmety.

Namiesto toho môžeme urobiť toto:

Prvý String nie je prázdny, takže sa metóda vráti nepravdivé. Druhy String je nulový, tak dostaneme pravda. Nakoniec môžeme použiť # strings.defaultString (…) metóda na určenie predvolenej hodnoty, ak String bude prázdny.

Existuje oveľa viac metód. Všetky pracujú nielen s reťazcami, ale aj s Java. Zbierky. Napríklad na použitie operácií súvisiacich s podreťazcom:

alebo použiť bezpečné porovnanie a zreťazenie:

Nakoniec existujú funkcie súvisiace s textovým štýlom, ktoré zachovajú syntax tak, aby bola vždy rovnaká:

V prvej metóde bude mať skrátený text maximálnu veľkosť n. Ak je text väčší, bude orezaný a ukončený znakom „…“.

V druhej metóde budeme slová písať veľkými písmenami.

3.5. Agregáty

Posledná, ale nemenej dôležitá funkcia, o ktorej tu chceme diskutovať, je agregáty. Oni sú nulový bezpečné a poskytnúť nástroje na výpočet priemeru alebo súčtu z poľa alebo inej zbierky:

4. Záver

V tomto článku sme diskutovali o funkciách Expression Utility Objects implementovaných v rámci Thymeleaf, verzia 3.0.

Celú implementáciu tohto tutoriálu nájdete v projekte GitHub.

Ako testovať? Náš návrh je najskôr hrať s prehliadačom, až potom skontrolovať aj existujúce testy JUnit.

Upozorňujeme, že príklady nezahŕňajú všetky dostupné výrazy pomocných programov. Ak sa chcete dozvedieť viac o všetkých druhoch nástrojov, pozrite sa sem.


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