Tavaszi kérelem paraméterei a timelevel

1. Bemutatkozás

A Thymeleaf tavaszi használatának bemutatása című cikkünkben láttuk, hogyan lehet a felhasználói adatbevitelt objektumokhoz kötni.

Használtuk th: objektum és th: mező a Thymeleaf sablonban és @ModelAttribute a vezérlőben, hogy adatokat kössön egy Java objektumhoz. Ebben a cikkben megvizsgáljuk, hogyan kell használni a tavaszi kommentárokat @RequestParam a Thymeleaffal kombinálva.

2. Paraméterek űrlapokban

Először hozzunk létre egy egyszerű vezérlőt, amely négy választható kérési paramétert fogad el:

@Controller public class MainController {@RequestMapping ("/") public String index (@RequestParam (érték = "résztvevő", kötelező = hamis) String résztvevő, @RequestParam (érték = "ország", kötelező = hamis) Karakterlánc ország, @ RequestParam (érték = "művelet", kötelező = hamis) Karakterlánc művelet, @RequestParam (érték = "id", kötelező = hamis) Egész id, Modell modell) {model.addAttribute ("id", id); List userIds = asList (1,2,3,4); model.addAttribute ("userIds", userIds); return "index"; }}

A Thymeleaf sablonunk neve index.html. A következő három szakaszban különböző HTML-űrlapelemeket fogunk használni, hogy a felhasználó továbbítsa az adatokat a vezérlőnek.

2.1. Bemeneti elem

Először hozzunk létre egy egyszerű űrlapot egy szövegbeviteli mezővel és egy gombbal az űrlap elküldéséhez:

Az attribútum th: név = „résztvevő” a beviteli mező értékét a paraméterhez köti résztvevő a vezérlő. Ahhoz, hogy ez működjön, meg kell jelölnünk a paramétert a @RequestParam (érték = „résztvevő”).

2.2. Válassza az Element elemet

Ugyanígy a HTML select elem esetében is:

   Németország Hollandia Lengyelország Lettország 

A kiválasztott opció értéke a paraméterhez van kötve ország, annotálva @RequestParam (érték = „ország”).

2.3. Gomb elem

Egy másik elem, ahol felhasználhatjuk th: név a gombelem:

 bejelentkezés-kijelentkezés 

Attól függően, hogy az első vagy a második gombot megnyomta-e az űrlap elküldéséhez, a paraméter értéke akció lesz vagy becsekkolás vagy kijelentkezés.

3. Paraméterek a hiperhivatkozásokban

A kérési paraméterek vezérlőnek történő továbbításának másik módja egy hiperhivatkozás:

Paramétereket felvehetünk zárójelbe:

Thymeleaf a fentieket értékeli:

A Thymeleaf kifejezések használata hiperhivatkozások létrehozásához különösen hasznos, ha változók alapján akarunk paraméterértékeket rendelni. Hozzunk létre például egy hiperhivatkozást minden felhasználói azonosítóhoz:

  Felhasználó [[$ {userId}]]

A felhasználói azonosítók listáját tulajdonként átadhatjuk a sablonnak:

List userIds = asList (1,2,3); model.addAttribute ("userIds", userIds);

A kapott HTML a következő lesz:

 1. felhasználó

2. felhasználó

3. felhasználó

A paraméter id a hiperhivatkozásban a paraméterhez van kötve id, annotálva @RequestParam (érték = „id”).

4. Összefoglalás

Ebben a rövid cikkben azt láthattuk, hogyan kell használni a Spring kérés paramétereit a Thymeleafszel kombinálva.

Először létrehoztunk egy egyszerű vezérlőt, amely elfogadja a kérési paramétereket. Másodszor megvizsgáltuk, hogyan lehet a Thymeleaf segítségével létrehozni egy HTML oldalt, amely felhívhatja a vezérlőnket.

A cikk összes példájának teljes forráskódja megtalálható a GitHub-on.