Tavasz és Timeleaf 3: Kifejezések

1. Bemutatkozás

A Thymeleaf egy Java sablonmotor HTML, XML, JavaScript, CSS és egyszerű szöveg feldolgozásához és létrehozásához. A Thymeleaf and Spring bevezetőjéhez olvassa el ezt az írást.

Ezen alapvető funkciók mellett a Thymeleaf olyan segédprogram objektumokat kínál nekünk, amelyek segítenek az alkalmazásunkban gyakori feladatok végrehajtásában.

Ebben a cikkben a Thymeleaf 3.0 - Expression segédprogram-objektumok tavaszi MVC-alkalmazások egyik fő jellemzőjét tárgyaljuk. Pontosabban a dátumok, naptárak, karakterláncok, tárgyak és még sok más feldolgozásának témájával foglalkozunk.

2. Maven-függőségek

Először nézzük meg a Thymeleaf és a Spring integrálásához szükséges konfigurációt. A tűlevelű-tavaszi könyvtárra van szükség a függőségeinkben:

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

Vegye figyelembe, hogy egy 4. tavaszi projekt esetében a tűlevelű-tavasz4 könyvtár helyett kell használni kakukkfű-tavasz5. A függőségek legújabb verziója itt található.

3. Expression Utility objektumok

Mielőtt áttekintené ennek az írásnak a középpontját, ha egy lépést szeretne hátrálni, és meg szeretné tudni, hogyan kell konfigurálni a Thymeleaf 3.0-t a webalkalmazás-projektjében, tekintse meg ezt az oktatóanyagot.

Az aktuális cikk céljaira létrehoztunk egy Spring vezérlőt és HTML fájlt - hogy megvizsgáljuk az összes olyan tulajdonságot, amelyről megvitatni fogjuk. Az alábbiakban az elérhető segítő objektumok és azok funkcióinak teljes listája található:

  • # dátumok: hasznossági módszerek a java.util.Dátum tárgyakat
  • # naptárak: hasonló # dátumok, használt java.util.Naptár tárgyakat
  • # számok: Hasznos módszerek numerikus objektumok formázásához
  • # húrok: hasznossági módszerek a Húr tárgyakat
  • #objects: segédprogram módszerek a Java számára Tárgy osztály általában
  • #bools: hasznossági módszerek a logikai értékelés
  • #arrays: hasznossági módszerek tömbökhöz
  • #listák: listák hasznossági módszerei
  • #készletek: hasznossági módszerek halmazokhoz
  • #térképek: Hasznos módszerek a térképekhez
  • # összesített: segédprogramok tömbök vagy gyűjtemények aggregátumainak létrehozásához
  • #üzenetek: hasznossági módszerek a változók kifejezései belsejében történő, külsőleges üzenetek megszerzésére

3.1. Dátumok Tárgyak

Az első függvény, amelyet meg akarunk vitatni, a java.util.Dátum tárgyakat. A kifejezésért felelős hasznossági objektumok kifejezés dátum a feldolgozás kezdődik # date.functionName (). Az első olyan funkció, amelyet le akarunk fedni, az a formázása Dátum objektum (amely hozzáadódik a Spring modell paramétereihez).

Tegyük fel, hogy használni akarjuk ISO8601 formátum:

Nem számít, milyen a miénk dátum a háttéroldalon volt beállítva, ennek a szabványnak megfelelően kell megjeleníteni. Sőt, ha konkrétan szeretnénk megfogalmazni a formátumot, akkor manuálisan is megadhatjuk:

A függvény két változót vesz paraméterként: Dátum és annak formátuma.

Végül, íme néhány hasonlóan hasznos funkció, amelyet használhatunk:

Az elsőben megkapjuk a hét napjának nevét, a másodikban létrehozunk egy újat Dátum objektumot, végül létrehozunk egy újat Dátum 00:00 -ra állítva.

3.2. Naptár objektumok

A naptár segédprogramok nagyon hasonlítanak a dátum feldolgozásához, azzal a különbséggel, hogy a java.util.Naptár tárgy:

Az egyetlen különbség az, amikor újat akarunk létrehozni Naptár példa:

Felhívjuk figyelmét, hogy bármelyiket felhasználhatjuk Naptár osztály módszerrel a kért adatok megszerzése érdekében.

3.3. Számok feldolgozása

Egy másik nagyon hasznos funkció a számok feldolgozása. Koncentráljunk a szám változó, véletlenszerűen létrehozva a-val kettős típus:

Az első sorban a decimális számot formázzuk a minimális egész számjegyek és a pontos tizedesjegyek beállításával. A másodikban az egész és a tizedes számjegy mellett megadtuk a tizedes elválasztót. A lehetőségek a következők PONT, VESSZŐ, FEHÉR ŰR, EGYIK SEM vagy ALAPÉRTÉK (területi beállítás szerint).

Van még egy funkció, amelyet be akarunk mutatni ebben a bekezdésben. Ez egész számok sorozatának létrehozása:

Az első példában a Thymeleaf-ot 0-2 közötti szekvenciával állítottuk elő, míg a másodikban a minimális és maximális érték mellett megadtuk a lépés definícióját (ebben a példában az értékek kettővel változnak).

Felhívjuk figyelmét, hogy az intervallum mindkét oldalon zárva van.

3.4. Vonós műveletek

Ez a kifejezés segédeszközök legátfogóbb jellemzője.

Elkezdhetjük a leírást az üres vagy nullaHúr tárgyakat. Gyakran a fejlesztők Java módszereket használtak a Thymeleaf címkékben, ami nem biztos, hogy biztonságos nulla tárgyakat.

Ehelyett ezt megtehetjük:

Az első Húr nem üres, ezért a módszer visszatér hamis. A második Húr van nulla, tehát megkapjuk igaz. Végül használhatjuk # strings.defaultString (…) metódus az alapértelmezett érték megadásához, ha Húr üres lesz.

Sokkal több módszer létezik. Mindegyikük nemcsak húrokkal, hanem másokkal is működik Java. Gyűjtemények. Például az alstringhez kapcsolódó műveletek használatához:

vagy semleges összehasonlítás és összefűzés:

Végül vannak olyan szövegstílushoz kapcsolódó funkciók, amelyek megőrzik a szintaxist, hogy mindig ugyanaz legyen:

Az első módszerben a rövidített szöveg maximális méretét teszi lehetővé n. Ha egy szöveg nagyobb, akkor azt levágják és befejezik a „…” betűvel.

A második módszerben nagybetűket írunk.

3.5. Összesítések

Az utolsó, de nem utolsósorban az a funkció, amelyet itt meg akarunk vitatni aggregátumok. Ők nulla biztonságos, és biztosítson segédprogramokat az átlag vagy az összeg kiszámításához a tömbből vagy bármely más gyűjteményből:

4. Következtetés

Ebben a cikkben a Thymeleaf keretrendszer 3.0-s verziójában megvalósított Expression Utility Objects funkciókat ismertettük.

Az oktatóanyag teljes megvalósítása megtalálható a GitHub projektben.

Hogyan kell tesztelni? Javaslatunk, hogy először böngészővel játsszon, majd ellenőrizze a meglévő JUnit teszteket is.

Kérjük, vegye figyelembe, hogy a példák nem fedik le az összes elérhető segédkifejezést. Ha szeretne megismerni minden típusú segédprogramot, tekintse meg itt.


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