Brug af skjulte input med Spring og Thymeleaf

1. Introduktion

Thymeleaf er en af ​​de mest populære skabelonmotorer i Java-økosystemet. Det giver os mulighed for nemt at bruge data fra vores Java-applikationer til at oprette dynamiske HTML-sider.

I denne vejledning ser vi på flere måder at bruge skjulte input med Spring og Thymeleaf på.

2. Thymeleaf med HTML-formularer

Før vi ser på at arbejde med skjulte felter, lad os tage et skridt tilbage og se på, hvordan Thymeleaf fungerer generelt med HTML-formularer.

Den mest almindelige brugssag er at bruge en HTML-formular, der kortlægges direkte til en DTO i vores applikation.

Lad os for eksempel antage, at vi skriver en blogapplikation og har en DTO, der repræsenterer et enkelt blogindlæg:

klasse BlogDTO {lang id; String titel; String krop; Strengkategori; Stringforfatter; Dato offentliggjort Dato; }

Vi kan bruge en HTML-formular til at oprette en ny forekomst af denne DTO ved hjælp af Thymeleaf og Java:

Bemærk, at felterne i vores blogindlæg DTO kortlægger et enkelt input i HTML-formularen. Dette fungerer i de fleste tilfælde godt, men hvilke felter skal ikke kunne redigeres? Det er her skjulte input kan hjælpe.

For eksempel har hvert blogindlæg et unikt id-felt, som brugerne ikke skal have tilladelse til at redigere. Ved hjælp af skjulte input kan vi overføre ID-feltet til HTML-formularen uden at lade det vises eller redigeres.

3. Brug af th: felt Attribut

Den hurtigste måde at tildele en værdi til en skjult input er at bruge th: felt attribut:

Dette er den enkleste måde, fordi vi ikke behøver at specificere værdiattributten, men det understøttes muligvis ikke i ældre versioner af Thymeleaf.

4. Brug af th: attr Attribut

Den næste måde, hvorpå vi kan bruge skjulte input med Thymeleaf, er at bruge den indbyggede th: attr attribut:

I dette tilfælde skal vi henvise til id felt ved hjælp af blog objekt.

5. Brug af navn Attribut

En anden mindre detaljeret tilgang er at bruge standard HTML navn attribut:

Det afhænger udelukkende af standard HTML-attributter. I dette tilfælde skal vi også henvise til id felt ved hjælp af blog objekt.

6. Konklusion

I denne vejledning så vi på flere måder at bruge skjulte input med Thymeleaf på. Dette er en nyttig teknik til overføring af skrivebeskyttede felter fra vores DTO'er til HTML-formularer.

Som altid kan alle kodeeksemplerne, der bruges i denne vejledning, findes på Github.


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