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.