Betingelser i Thymeleaf

1. Oversikt

I denne opplæringen skal vi ta en titt på forskjellige typer conditionals tilgjengelig i Thymeleaf.

For en rask introduksjon til Thymeleaf, se denne artikkelen.

2. Maven-avhengigheter

La oss starte med Maven-avhengighetene som kreves for å bruke Thymeleaf sammen med Spring:

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

For andre vårutgivelser, matchingen thymeleaf-springX biblioteket skal brukes, hvor X står for Spring-versjonen. Vær også oppmerksom på at Våren 5 støttes fra og med 3.0.8.UTSLIPP, av Thymeleaf.

De siste versjonene av nødvendige avhengigheter finner du her.

3. Thymeleaf Conditionals

Vi må skille mellom betingelser som tillater oss å gjengi tekst i et HTML-element, avhengig av en tilstand, og de som styrer instantiering av et HTML-element i seg selv.

La oss definere vår Lærer modellklasse som vi bruker gjennom denne artikkelen:

offentlig klasse Lærer implementerer Serialiserbar {privat String kjønn; privat boolsk isActive; private List-kurs = ny ArrayList (); private streng tilleggskompetanse;

3.1. Elvis Operator

Elvis-operatøren ?: lar oss gjengi tekst i et HTML-element, avhengig av gjeldende tilstand for en variabel.

Vi kan bruke standarduttrykk for å gi en standardtekst hvis en variabel er null:

I det øvre eksemplet ønsker vi å vise innholdet i lærer. tilleggskompetansevariabel hvis den er definert og vi vil ha teksten “UKJENT”Skal gjengis ellers.

Det er også mulig å vise vilkårlig tekst avhengig av et boolsk uttrykk:

Vi kan spørre om en enkel boolsk variabel som i forrige eksempel, men strengesammenligning og områdekontroll er også mulig.

Følgende komparatorer og deres tekstlige fremstillinger støttes> (gt),> = (ge), <(lt), <= (le), == (eq) og! = (ne).

3.2. Hvis - med mindre

De th: hvis og th: med mindre attributter tillater oss å gjengi et HTML-element avhengig av gitt tilstand:

 Kvinne mann 

Hvis innholdet i lærer. kjønn variabel tilsvarer en F, deretter spennelementet med verdien “Hunn”Gjengis.

Ellers er elementet med “Mann”Gjengis. Et slikt oppsett er sammenlignbart med et hvis-annet klausul til stede i de fleste programmeringsspråk.

3.3. Bryter - Veske

Hvis det er mer enn to mulige resultater av et uttrykk, kan vi bruke th: bytte og th: sak attributter for betinget gjengivelse av HTML-elementene:

 INGEN KURS ENNÅ! 

Avhengig av størrelsen pålærer.kursVi viser enten standardtekst, enkeltkurs eller alle tilgjengelige kurs. Stjernen (*)brukes til standardalternativet.

4. Konklusjon

I denne korte artikkelen undersøkte vi de forskjellige typene av Thymeleaf conditionals og presenterte noen forenklede eksempler som viser de forskjellige alternativene.

Eksemplene finnes i GitHub-prosjektet.


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