Betingelser i Thymeleaf

1. Oversigt

I denne vejledning skal vi se på forskellige typer betingelser tilgængelige i Thymeleaf.

For en hurtig introduktion til Thymeleaf henvises til denne artikel.

2. Maven-afhængigheder

Lad os starte med de Maven-afhængigheder, der kræves for at bruge Thymeleaf sammen med Spring:

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

For andre forårsudgivelser, matchningen thymeleaf-springX bibliotek skal bruges, hvor x står for Spring version. Bemærk også, at Forår 5 understøttes startende med 3.0.8.FRIGIVELSEaf Thymeleaf.

De nyeste versioner af krævede afhængigheder kan findes her.

3. Thymeleaf-betingelser

Vi er nødt til at skelne mellem betingelser, der giver os mulighed for at gengive tekst inden for et HTML-element afhængigt af en betingelse, og dem, der styrer instantiering af et HTML-element selv.

Lad os definere vores Lærer modelklasse, som vi bruger i hele denne artikel:

offentlig klasse Lærer implementerer Serialiserbar {privat String køn; privat boolsk isActive; private List-kurser = ny ArrayList (); private streng yderligere kvalifikationer;

3.1. Elvis operatør

Elvis-operatøren ?: lader os gengive tekst inden for et HTML-element afhængigt af den aktuelle tilstand for en variabel.

Vi kan bruge standardudtryk til at give en standardtekst, hvis en variabel er nul:

I det øverste eksempel vil vi vise indholdet af lærer. yderligere færdighedervariabel, hvis den er defineret, og vi vil have teksten “UKENDT”Skal gengives på anden måde.

Det er også muligt at vise vilkårlig tekst afhængigt af et boolsk udtryk:

Vi kan forespørge om en simpel boolsk variabel som i det foregående eksempel, men strengesammenligninger og områdekontrol er også mulige.

Følgende komparatorer og deres tekstrepræsentationer understøttes> (gt),> = (ge), <(lt), <= (le), == (eq) og! = (ne).

3.2. Hvis - medmindre

Det th: hvis og th: medmindre attributter giver os mulighed for at gengive et HTML-element afhængigt af den angivne tilstand:

 Kvinde mand 

Hvis indholdet af lærer. køn variabel er lig med en F, derefter spanelementet med værdien “Kvinde”Gengives.

Ellers er elementet med “Han”Gengives. En sådan opsætning kan sammenlignes med en hvis ellers klausul til stede på de fleste programmeringssprog.

3.3. Kontakt - sag

Hvis der er mere end to mulige resultater af et udtryk, kan vi bruge th: switch og th: sag attributter til den betingede gengivelse af HTML-elementerne:

 INGEN KURSUS ENDRE! 

Afhængig af størrelsen pålærer.kurserliste viser vi enten en standardtekst, det enkelte kursus eller alle tilgængelige kurser. Stjernen (*)bruges til standardindstillingen.

4. Konklusion

I denne korte artikel undersøgte vi de forskellige typer af Thymeleaf-conditionals og præsenterede nogle forenklede eksempler, der viser de forskellige muligheder.

Eksemplerne findes i GitHub-projektet.