Bruke skjulte innganger med vår og tymeleav
1. Introduksjon
Thymeleaf er en av de mest populære malmotorene i Java-økosystemet. Det lar oss enkelt bruke data fra Java-applikasjonene våre til å lage dynamiske HTML-sider.
I denne opplæringen vil vi se på flere måter å bruke skjulte innganger med Spring og Thymeleaf.
2. Thymeleaf med HTML-skjemaer
Før vi ser på å jobbe med skjulte felt, la oss ta et skritt tilbake og se på hvordan Thymeleaf fungerer med HTML-skjemaer generelt.
Den vanligste brukssaken er å bruke et HTML-skjema som kartlegges direkte til en DTO i applikasjonen vår.
La oss for eksempel anta at vi skriver en bloggsøknad og har en DTO som representerer et enkelt blogginnlegg:
klasse BlogDTO {lang id; Stringtittel; Streng kropp; Strengkategori; Stringforfatter; Publiseringsdato Dato; }
Vi kan bruke et HTML-skjema for å opprette en ny forekomst av denne DTO ved hjelp av Thymeleaf og Java:
Legg merke til at feltene i vårt blogginnlegg DTO tilordnes til en enkelt inngang i HTML-skjemaet. Dette fungerer bra i de fleste tilfeller, men hvilke felt skal ikke kunne redigeres? Dette er hvor skjulte innganger kan hjelpe.
For eksempel har hvert blogginnlegg et unikt ID-felt som brukere ikke skal ha lov til å redigere. Ved hjelp av skjulte innganger kan vi sende ID-feltet til HTML-skjemaet uten å la det vises eller redigeres.
3. Bruke th: felt Egenskap
Den raskeste måten å tilordne en verdi til en skjult inngang er å bruke th: felt Egenskap:
Dette er den enkleste måten fordi vi ikke trenger å spesifisere verdiattributtet, men det støttes kanskje ikke i eldre versjoner av Thymeleaf.
4. Bruke th: attr Egenskap
Den neste måten vi kan bruke skjulte innganger med Thymeleaf er å bruke den innebygde th: attr Egenskap:
I dette tilfellet må vi referere til id feltet ved hjelp av blogg gjenstand.
5. Bruke Navn Egenskap
En annen mindre detaljert tilnærming er å bruke standard HTML Navn Egenskap:
Den er bare avhengig av standard HTML-attributter. I dette tilfellet må vi også referere til id feltet ved hjelp av blogg gjenstand.
6. Konklusjon
I denne opplæringen så vi på flere måter å bruke skjulte innganger med Thymeleaf. Dette er en nyttig teknikk for å overføre skrivebeskyttede felt fra våre DTO-er til HTML-skjemaer.
Som alltid kan alle kodeeksemplene som brukes i denne opplæringen, bli funnet på Github.