Spring og Thymeleaf 3: Udtryk

1. Introduktion

Thymeleaf er en Java-skabelonmotor til behandling og oprettelse af HTML, XML, JavaScript, CSS og almindelig tekst. For en introduktion til Thymeleaf og Spring, se på denne opskrivning.

Udover disse grundlæggende funktioner tilbyder Thymeleaf os et sæt hjælpeprojekter, der hjælper os med at udføre almindelige opgaver i vores applikation.

I denne artikel diskuterer vi en kerneegenskab i Thymeleaf 3.0 - Expression Utility Objects i MVC-applikationer i foråret. Mere specifikt dækker vi emnet for behandlingsdatoer, kalendere, strenge, objekter og meget mere.

2. Maven-afhængigheder

Lad os først se den nødvendige konfiguration, der er nødvendig for at integrere Thymeleaf med Spring. Det thymeleaf-spring bibliotek kræves i vores afhængigheder:

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

Bemærk, at for et Spring 4-projekt, thymeleaf-spring4 biblioteket skal bruges i stedet for thymeleaf-spring5. Den seneste version af afhængighederne kan findes her.

3. Expression Utility Objects

Før du ser på kernefokus for denne opskrivning, skal du se på denne vejledning, hvis du vil tage et skridt tilbage og se, hvordan du konfigurerer Thymeleaf 3.0 i dit webapp-projekt.

Med henblik på den nuværende artikel oprettede vi en Spring-controller og HTML-fil - for at teste alle de funktioner, vi skal diskutere. Nedenfor er den komplette liste over tilgængelige hjælperobjekter og deres funktioner:

  • #datoer: værktøjsmetoder til java.util.Date genstande
  • #kalendere: svarende til #datoer, anvendes til java.util.Kalender genstande
  • #numbers: værktøjsmetoder til formatering af numeriske objekter
  • #strenge: værktøjsmetoder til Snor genstande
  • #objekter: værktøjsmetoder til Java Objekt klasse generelt
  • #bools: værktøjsmetoder til boolsk evaluering
  • #arrays: hjælpemetoder til arrays
  • #lister: værktøjsmetoder til lister
  • #sæt: hjælpemetoder til sæt
  • #Kort: værktøjsmetoder til kort
  • #aggregater: værktøjsmetoder til oprettelse af aggregater på arrays eller samlinger
  • #Beskeder: værktøjsmetoder til opnåelse af eksternaliserede meddelelser inde i variabeludtryk

3.1. Datoer Objekter

Den første funktion, som vi vil diskutere, er behandling af java.util.Date genstande. Udtrykket utility objekter ansvarlig for dato behandling starter med # dates.functionName (). Den første funktion, som vi ønsker at dække, er formatering af en Dato objekt (som føjes til Spring-modelparametrene).

Lad os sige, at vi vil bruge ISO8601 format:

Ligegyldigt hvordan vores dato blev indstillet på bagsiden, skal den vises i overensstemmelse med denne standard. Hvad mere er, hvis vi vil være specifikke med formatet, kan vi specificere det manuelt:

Funktionen tager to variabler som parametre: Dato og dets format.

Endelig er her et par lignende nyttige funktioner, vi kan bruge:

I den første modtager vi navnet på ugedagen, i det andet opretter vi en ny Dato objekt, og til sidst opretter vi et nyt Dato med tiden indstillet til 00:00.

3.2. Kalenderobjekter

Kalenderværktøjer ligner meget behandling af datoer, bortset fra at vi bruger en forekomst af java.util.Kalender objekt:

Den eneste forskel er, når vi vil skabe nye Kalender eksempel:

Bemærk, at vi kan bruge enhver Kalender klassemetode for at få anmodede data.

3.3. Nummerbehandling

En anden meget håndfuld funktion er nummerbehandling. Lad os fokusere på en antal variabel, tilfældigt oprettet med en dobbelt type:

I den første linje formaterer vi decimaltal ved at indstille minimum heltal cifre og nøjagtige decimal cifre. I den anden, foruden heltal og decimal cifre, specificerede vi decimalseparatoren. Indstillingerne er PUNKT, KOMMA, HVIDT RUM, INGEN eller STANDARD (efter landestandard).

Der er endnu en funktion, som vi vil præsentere i dette afsnit. Det er oprettelsen af ​​en række heltal:

I det første eksempel havde vi Thymeleaf generere en sekvens fra 0-2, hvorimod i det andet udover minimums- og maksimumværdi, leverede vi en definition af trin (i dette eksempel ændres værdierne med to).

Bemærk, at intervallet er lukket på begge sider.

3.4. Strings Operations

Det er det mest omfattende træk ved ekspressionsværktøjsobjekter.

Vi kan starte beskrivelsen med nytten af ​​at kontrollere tom eller nulSnor genstande. Ganske ofte bruger udviklere Java-metoder inde i Thymeleaf-tags til at gøre det, hvilket måske ikke er sikkert for nul genstande.

I stedet kan vi gøre dette:

Den første Snor er ikke tom, så metoden vender tilbage falsk. Sekundet Snor er nul, så vi får det rigtigt. Endelig kan vi bruge # strings.defaultString (…) metode til at specificere en standardværdi, hvis Snor vil være tom.

Der er mange flere metoder. Alle arbejder ikke kun med strenge, men også med Java.Collections. For eksempel at bruge understringsrelaterede operationer:

eller at bruge nul-sikker sammenligning og sammenkædning:

Endelig er der relaterede funktioner i tekststil, der bevarer syntaksen til altid at være den samme:

I den første metode får forkortet tekst den maksimale størrelse n. Hvis en tekst er større, bliver den klippet og afsluttet med “…”.

I den anden metode vil vi kapitalisere ord.

3.5. Aggregater

Den sidste men ikke mindst funktion, som vi vil diskutere her, er aggregater. De er nul sikkert og give hjælpeprogrammer til at beregne gennemsnit eller sum fra array eller enhver anden samling:

4. Konklusion

I denne artikel diskuterede vi Expression Utility Objects-funktioner implementeret i Thymeleaf framework, version 3.0.

Den fulde implementering af denne vejledning kan findes i GitHub-projektet.

Hvordan tester man? Vores forslag er først at spille med en browser og derefter kontrollere de eksisterende JUnit-test også.

Vær opmærksom på, at eksempler ikke dækker alle tilgængelige brugsudtryk. Hvis du vil lære mere om alle typer værktøjer, skal du se her.


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