Premenné jarnej cesty s Thymeleaf

1. Úvod

V tomto krátkom tutoriáli sa naučíme, ako používať Thymeleaf na vytváranie adries URL pomocou premenných cesty Spring.

Premenné cesty používame, keď chceme odovzdať hodnotu ako súčasť adresy URL. V pružinovom ovládači k týmto hodnotám pristupujeme pomocou @PathVariable anotácia.

2. Používanie premenných cesty

Najprv si vytvoríme jednoduchý príklad Položka trieda:

verejná trieda Položka {private int id; súkromné ​​meno reťazca; // Konštruktor a štandardné getre a setre}

Teraz vytvorme náš radič:

@Controller public class PathVariablesController {@GetMapping ("/ pathvars") public String start (model model) {List items = new ArrayList (); items.add (nová položka (1, „prvá položka“)); items.add (nová položka (2, „druhá položka“)); model.addAttribute ("položky", položky); návrat "premenné cesty / index"; } @GetMapping ("/ pathvars / single / {id}") public String singlePathVariable (@PathVariable ("id") int id, Model model) {if (id == 1) {model.addAttribute ("item", new Položka (1, „prvá položka“)); } else {model.addAttribute ("položka", nová položka (2, "druhá položka")); } návrat "pathvariables / view"; }}

V našom index.html šablónu, prezerajme si naše položky a vytvorme odkazy volajúce singlePathVariable metóda:

Kód, ktorý sme práve vytvorili, vytvára nasledujúce adresy URL:

// localhost: 8080 / pathvars / single / 1

Toto je štandardná Thymeleafova syntax na použitie výrazov v adresách URL.

Na dosiahnutie rovnakého výsledku môžeme tiež použiť zreťazenie:

3. Používanie viacerých premenných cesty

Teraz, keď sme prebrali základy vytvárania adresy URL premennej cesty v Thymeleaf, poďme rýchlo pokryť použitie viacerých.

Najskôr vytvoríme a Detail triedy a upraviť naše Položka triedy a mať ich zoznam:

public class Detail {private int id; popis súkromného reťazca; // konštruktor a štandardné getre a setre}

Ďalej pridáme zoznam Detail do Položka:

podrobnosti súkromného zoznamu;

Teraz aktualizujme náš radič a pridajme metódu pomocou viacerých @PathVariable anotácie:

@GetMapping ("/ pathvars / item / {itemId} / detail / {dtlId}") public String multiplePathVariable (@PathVariable ("itemId") int itemId, @PathVariable ("dtlId") int dtlId, modelový model) {pre ( Položka item: items) {if (item.getId () == itemId) {model.addAttribute ("item", item); pre (Detail detail: item.getDetails ()) {if (detail.getId () == dtlId) {model.addAttribute ("detail", detail); }}}} return "pathvariables / view"; }

Nakoniec si upravme našu index.html šablóna na vytvorenie adries URL pre každý podrobný záznam:

4. Záver

V tomto rýchlom výučbe sme sa naučili, ako používať Thymeleaf na vytváranie adries URL s premennými cesty. Začali sme vytvorením jednoduchej adresy URL iba s jednou. Neskôr sme na našom príklade rozšírili použitie viacerých premenných cesty.

Vzorový kód je k dispozícii na serveri GitHub.


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