Používanie skrytých vstupov s Spring a Thymeleaf

1. Úvod

Thymeleaf je jedným z najpopulárnejších šablónových nástrojov v ekosystéme Java. Umožňuje nám ľahko používať údaje z našich aplikácií Java na vytváranie dynamických stránok HTML.

V tomto tutoriáli sa pozrieme na niekoľko spôsobov použitia skrytých vstupov s Spring a Thymeleaf.

2. Thymeleaf s formulármi HTML

Predtým, ako sa pozrieme na prácu so skrytými poľami, urobme krok späť a pozrime sa, ako Thymeleaf pracuje s formami HTML všeobecne.

Najbežnejším prípadom použitia je použitie formulára HTML, ktorý sa v našej aplikácii mapuje priamo na DTO.

Predpokladajme napríklad, že píšeme blogovú aplikáciu a máme DTO, ktorý predstavuje jeden blogový príspevok:

trieda BlogDTO {long id; Názov reťazca; Strunové telo; Kategória strún; Autor reťazca; Dátum zverejneniaDátum; }

Môžeme použiť HTML formulár na vytvorenie novej inštancie tohto DTO pomocou Thymeleaf a Java:

Všimnite si, že polia v našom príspevku DTO po blogu sa mapujú na jeden vstup vo forme HTML. Vo väčšine prípadov to funguje dobre, ale ktoré polia by sa nemali dať upravovať? Tu môžu pomôcť skryté vstupy.

Napríklad každý príspevok na blogu má jedinečné pole ID, ktoré by používateľom nemalo byť dovolené upravovať. Pomocou skrytých vstupov môžeme ID pole preniesť do formulára HTML bez toho, aby sme ho umožnili zobraziť alebo upraviť.

3. Pomocou th: pole Atribút

Najrýchlejším spôsobom, ako priradiť hodnotu skrytému vstupu, je použitie súboru th: pole atribút:

Toto je najjednoduchší spôsob, pretože nemusíme špecifikovať atribút hodnoty, ale nemusí to byť podporované v starších verziách Thymeleaf.

4. Pomocou th: attr Atribút

Ďalším spôsobom, ako môžeme použiť skryté vstupy s Thymeleaf, je použitie zabudovaného th: attr atribút:

V takom prípade musíme odkázať na id pole pomocou blog objekt.

5. Pomocou názov Atribút

Ďalším menej podrobným prístupom je použitie štandardného HTML názov atribút:

Spolieha sa iba na štandardné atribúty HTML. V tomto prípade musíme tiež uviesť odkaz na id pole pomocou blog objekt.

6. Záver

V tomto tutoriáli sme sa pozreli na niekoľko spôsobov použitia skrytých vstupov s Thymeleaf. Toto je užitočná technika na prenos polí iba na čítanie z našich DTO do formulárov HTML.

Ako vždy, všetky príklady kódov použitých v tomto tutoriále nájdete na Githube.