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.