Proljeće i majčina dušica 3: Izrazi
1. Uvod
Thymeleaf je Java predložak za obradu i stvaranje HTML-a, XML-a, JavaScript-a, CSS-a i običnog teksta. Za uvod u majčinu dušicu i proljeće, pogledajte ovaj spis.
Pored ovih osnovnih funkcija, Thymeleaf nam nudi i niz pomoćnih objekata koji će nam pomoći u izvršavanju uobičajenih zadataka u našoj aplikaciji.
U ovom ćemo članku razgovarati o osnovnoj značajci programa Thymeleaf 3.0 - Expression Utility Objects u proljetnim MVC aplikacijama. Točnije, obradit ćemo temu obrade datuma, kalendara, nizova, predmeta i još mnogo toga.
2. Ovisnosti Mavena
Prvo, pogledajmo potrebnu konfiguraciju potrebnu za integraciju Thymeleaf-a s Springom. The majčina dušica-proljeće knjižnica je potrebna u našim ovisnostima:
timijanov list orgy 3.0.11.OSLOBODITI timijanov list-proljeće5 3.0.11.
Za projekt Spring 4, majčina dušica-proljeće4 knjižnica se mora koristiti umjesto majčina dušica-proljeće5. Najnoviju verziju ovisnosti možete pronaći ovdje.
3. Objekti uslužnih programa Expression
Prije nego što pogledate srž fokusa ovog pisanja, ako želite napraviti korak unatrag i vidjeti kako konfigurirati Thymeleaf 3.0 u projektu web aplikacije, pogledajte ovaj vodič.
U svrhu trenutnog članka stvorili smo Spring kontroler i HTML datoteku - da bismo testirali sve značajke o kojima ćemo raspravljati. Ispod je cjelovit popis dostupnih pomoćnih objekata i njihovih funkcija:
- # datumi: korisne metode za java.util.Datum predmeta
- #kalendari: slično # datumi, koristi za java.util.Kalendar predmeta
- #brojevi: korisne metode za formatiranje numeričkih objekata
- # žice: korisne metode za Niz predmeta
- #objekti: korisne metode za Javu Objekt razred uopće
- #bools: korisne metode za boolean ocjenjivanje
- # nizovi: korisne metode za nizove
- #popisi: korisne metode za popise
- #sets: korisne metode za skupove
- #Karte: korisne metode za karte
- #agregati: korisne metode za stvaranje agregata na nizovima ili zbirkama
- #poruke: korisne metode za dobivanje eksternaliziranih poruka unutar izraza varijabli
3.1. Datumi Objekti
Prva funkcija o kojoj želimo razgovarati je obrada datoteke java.util.Datum predmeta. Izrazi uslužni objekti odgovorni za datum obrada započeti sa # datumi.funkcijaName (). Prva funkcija koju želimo pokriti je oblikovanje a Datum objekt (koji se dodaje parametrima modela Spring).
Recimo da želimo koristiti ISO8601 format:
Bez obzira na naše datum je postavljen na stražnjoj strani, mora biti prikazan u skladu s ovim standardom. Štoviše, ako želimo biti specifični s formatom, možemo ga odrediti ručno:
Funkcija uzima dvije varijable kao parametre: Datum i njegov format.
Na kraju, evo nekoliko slično korisnih funkcija koje možemo koristiti:
U prvom ćemo dobiti naziv dana u tjednu, u drugom ćemo stvoriti novi Datum objekt, i na kraju ćemo stvoriti novi Datum s vremenom postavljenim na 00:00.
3.2. Objekti kalendara
Uslužni programi kalendara vrlo su slični obradi datuma, osim što koristimo instancu java.util.Kalendar objekt:
Jedina je razlika kada želimo stvoriti novo Kalendar primjer:
Napominjemo da možemo koristiti bilo koji Kalendar metoda klase kako bi se dobili traženi podaci.
3.3. Obrada brojeva
Još jedna vrlo ručna značajka je obrada brojeva. Usredotočimo se na a num varijabla, nasumično kreirana s dvostruko tip:
U prvom retku formatiramo decimalni broj postavljanjem minimalnih cjelobrojnih znamenki i točnih decimalnih znamenki. U drugom smo, osim cjelobrojnih i decimalnih znamenki, naveli i decimalni separator. Opcije su TOČKA, ZAREZ, BIJELI PROSTOR, NITKO ili ZADANO (prema lokalitetu).
Postoji još jedna funkcija koju želimo predstaviti u ovom odlomku. To je stvaranje niza cjelobrojnih brojeva:
U prvom smo primjeru Thymeleaf generirali niz od 0-2, dok smo u drugom, uz minimalnu i maksimalnu vrijednost, dali definiciju koraka (u ovom primjeru vrijednosti će se promijeniti za dva).
Napominjemo da je interval zatvoren s obje strane.
3.4. Operacije gudača
To je najopsežnija značajka korisnih objekata izraza.
Opis možemo započeti s korisnošću provjere praznih ili nullNiz predmeta. Često bi programeri za to koristili Java metode unutar oznaka Thymeleaf, što možda nije sigurno null predmeta.
Umjesto toga, možemo to učiniti:
Prvi Niz nije prazan, pa će se metoda vratiti lažno. Drugi Niz je null, pa ćemo dobiti pravi. Konačno, možemo koristiti # strings.defaultString (…) metoda za specificiranje zadane vrijednosti, ako Niz bit će prazna.
Postoji mnogo više metoda. Svi oni rade ne samo sa žicama već i sa Java.Zbirke. Na primjer za upotrebu operacija povezanih sa podnizom:
ili za upotrebu nul-sigurne usporedbe i spajanja:
Napokon, postoje značajke povezane sa stilom teksta koje će sačuvati sintaksu uvijek jednakom:
U prvoj će metodi skraćeni tekst imati maksimalnu veličinu n. Ako je tekst veći, isjeći će se i završiti s "...".
U drugoj ćemo metodi pisati velikim slovima riječi.
3.5. Agregati
Posljednja, ali ne i najmanje važna funkcija o kojoj ovdje želimo razgovarati je agregati. Oni su null sigurno i osigurati uslužne programe za izračunavanje prosjeka ili zbroja iz niza ili bilo koje druge zbirke:
4. Zaključak
U ovom smo članku razgovarali o značajkama programa Expression Utility Objects implementiranim u okviru Thymeleaf, verzija 3.0.
Potpuna implementacija ovog vodiča može se naći u projektu GitHub.
Kako testirati? Naš je prijedlog da se prvo igrate s preglednikom, a zatim provjerite i postojeće JUnit testove.
Imajte na umu da primjeri ne pokrivaju sve dostupne korisne izraze. Ako želite saznati sve vrste uslužnih programa, pogledajte ovdje.