Tavaszi útváltozók a tűlevelekkel

1. Bemutatkozás

Ebben a rövid bemutatóban megtanuljuk, hogyan használjuk a Thymeleaf-et URL-ek létrehozásához a Spring path változók segítségével.

Útváltozókat használunk, ha egy értéket szeretnénk átadni az URL részeként. A Spring vezérlőben ezekhez az értékekhez férünk hozzá a @PathVariable annotáció.

2. Útváltozók használata

Először állítsuk be példánkat egy egyszerű létrehozásával Tétel osztály:

public class Item {private int id; privát karakterlánc neve; // Konstruktor és szabványos mérőeszközök és beállítók}

Most készítsük el a vezérlőnket:

@Controller public class PathVariablesController {@GetMapping ("/ pathvars") public String start (Model model) {List items = new ArrayList (); items.add (új elem (1, "Első tétel")); items.add (új tétel (2, "Második tétel")); model.addAttribute ("elemek", elemek); return "pathvariables / index"; } @GetMapping ("/ pathvars / single / {id}") public String singlePathVariable (@PathVariable ("id") int id, Model model) {if (id == 1) {model.addAttribute ("item", new Elem (1. tétel, "Első tétel")); } else {model.addAttribute ("elem", új elem (2, "Második elem")); } return "pathvariables / view"; }}

Miénkben index.html sablont, tekintsük át az elemeinket, és hozzunk létre linkeket a singlePathVariable módszer:

Az imént létrehozott kód az alábbi URL-eket készíti:

// localhost: 8080 / pathvars / single / 1

Ez a Thymeleaf szokásos szintaxisa a kifejezések URL-ekben történő használatához.

Használhatunk összefűzést is ugyanazon eredmény eléréséhez:

3. Több útváltozó használata

Most, hogy áttekintettük az útváltozó URL-jének létrehozásának alapjait a Thymeleaf-ben, gyorsan foglalkozzunk többszörös használatával.

Először létrehozunk egy Részlet osztály és módosítsa a mi Tétel osztály, hogy legyen egy listájuk:

nyilvános osztály Részlet {private int id; privát karakterlánc leírása; // kivitelező és szabványos mérőeszközök és beállítók}

Ezután adjunk hozzá egy listát Részlet nak nek Tétel:

privát Lista adatai;

Most frissítsük a vezérlőnket, hogy hozzáadjunk egy módszert többszörös használatával @PathVariable kommentárok:

@GetMapping ("/ pathvars / item / {itemId} / detail / {dtlId}") public String multiplePathVariable (@PathVariable ("itemId") int itemId, @PathVariable ("dtlId") int dtlId, Model model) {for ( Elemelem: elemek) {if (item.getId () == itemId) {model.addAttribute ("item", item); for (Részletrészlet: item.getDetails ()) {if (detail.getId () == dtlId) {model.addAttribute ("részlet", részlet); }}}} return "pathvariables / view"; }

Végül módosítsuk index.html sablon URL-ek létrehozásához minden részletrekordhoz:

4. Következtetés

Ebben a gyors oktatóanyagban megtanultuk, hogyan kell a Thymeleaf segítségével URL-eket létrehozni útváltozókkal. Azzal kezdtük, hogy létrehoztunk egy egyszerű URL-t, amely csak egyet tartalmaz. Később a példánkat kibővítettük több útváltozó használatával.

A példa kód elérhető a GitHubon.