Parametri zahtjeva za proljeće s majčinom dušicom
1. Uvod
U našem članku Uvod u uporabu majčine dušice u proljeće vidjeli smo kako povezati unos korisnika s objektima.
Koristili smo th: objekt i th: polje u predlošku majčine dušice i @ModelAttribute u kontroleru za povezivanje podataka na Java objekt. U ovom ćemo članku pogledati kako se koristi proljetna napomena @RequestParam u kombinaciji s majčinom dušicom.
2. Parametri u obrascima
Stvorimo najprije jednostavni kontroler koji prihvaća četiri neobavezna parametra zahtjeva:
@Controller javna klasa MainController {@RequestMapping ("/") javni indeks niza (@RequestParam (value = "sudionik", potreban = netačan) Sudionik niza, @RequestParam (value = "country", required = false) Zemlja niza, @ RequestParam (value = "action", required = false) String action, @RequestParam (value = "id", required = false) Integer id, Model modela) {model.addAttribute ("id", id); Popis userIds = asList (1,2,3,4); model.addAttribute ("userIds", userIds); return "indeks"; }}
Naziv našeg predloška majčine dušice je index.html. U sljedeća tri odjeljka koristit ćemo različite elemente HTML obrasca da bi korisnik prenosio podatke kontroloru.
2.1. Ulazni element
Prvo stvorimo jednostavan obrazac s poljem za unos teksta i gumbom za slanje obrasca:
Atribut th: name = "sudionik" veže vrijednost polja za unos na parametar sudionik kontrolora. Da bi ovo uspjelo, moramo parametar označiti s @RequestParam (vrijednost = “sudionik”).
2.2. Odaberite Element
Isto tako za element odabira HTML:
Njemačka Nizozemska Poljska Latvija
Vrijednost odabrane opcije vezana je uz parametar zemlja, označeno s @RequestParam (vrijednost = “zemlja”).
2.3. Gumb Element
Još jedan element koji možemo koristiti th: ime je element gumba:
prijava odjava
Ovisno o tome je li pritisnuta prva ili druga tipka za slanje obrasca, vrijednost parametra akcijski bit će bilo prijava ili provjeri.
3. Parametri u hipervezama
Drugi način prosljeđivanja parametara zahtjeva kontroloru je putem hiperveze:
A u zagrade možemo dodati parametre:
Thymeleaf procjenjuje gore navedeno kako bi:
Korištenje izraza Thymeleaf za generiranje hiperveza posebno je korisno ako želimo dodijeliti vrijednosti parametara na temelju varijabli. Na primjer, generirajmo hipervezu za svaki korisnički ID:
Korisnik [[$ {userId}]]
Popis korisničkih ID-ova možemo proslijediti kao svojstvo predlošku:
Popis userIds = asList (1,2,3); model.addAttribute ("userIds", userIds);
I rezultirajući HTML bit će:
Korisnik 1Korisnik 2
Korisnik 3
Parametar iskaznica u hipervezi je vezan za parametar iskaznica, označeno s @RequestParam (vrijednost = “id”).
4. Sažetak
U ovom kratkom članku vidjeli smo kako koristiti parametre zahtjeva Spring u kombinaciji s Thymeleafom.
Prvo smo stvorili jednostavan kontroler koji prihvaća parametre zahtjeva. Drugo, pogledali smo kako koristiti Thymeleaf za generiranje HTML stranice koja može nazvati naš kontroler.
Cjeloviti izvorni kod za sve primjere u ovom članku možete pronaći na GitHubu.