Pavasarį MVC, @RequestParam anotacija naudojama formos duomenims nuskaityti ir automatiškai susieti su pateiktame metode esančiu parametru. Taigi, jis nepaiso reikalavimo HttpServletRequest prieštarauja perskaityti pateiktus duomenis.
Įskaitant formos duomenis, jis taip pat susieja užklausos parametrą su užklausos parametru ir dalimis kelių dalių užklausose. Jei metodo parametro tipas yra žemėlapis ir nurodytas užklausos parametro pavadinimas, tada užklausos parametro reikšmė konvertuojama į žemėlapį, kitaip žemėlapio parametras užpildomas visais užklausos parametrų pavadinimais ir reikšmėmis.
Spring MVC RequestParam pavyzdys
Sukurkime prisijungimo puslapį, kuriame būtų vartotojo vardas ir slaptažodis. Čia mes patvirtiname slaptažodį su konkrečia reikšme.
1. Pridėkite priklausomybes prie pom.xml
org.springframework spring-webmvc 5.1.1.RELEASE javax.servlet servlet-api 3.0-alpha-1
2. Sukurkite užklausos puslapį
Tai prisijungimo puslapis, į kurį vartotojas gauna vardą ir slaptažodį.
index.jsp
UserName : <br> <br> Password : <br> <br>
3. Sukurkite valdiklio klasę
Valdiklio klasėje:
- @RequestParam naudojamas vartotojo pateiktiems HTML formos duomenims nuskaityti ir susieti juos su užklausos parametru.
- Modelyje yra užklausos duomenys ir jie pateikiami puslapio peržiūrai.
HelloController.java
package com.javatpoint; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class HelloController { @RequestMapping('/hello') //read the provided form data public String display(@RequestParam('name') String name,@RequestParam('pass') String pass,Model m) { if(pass.equals('admin')) { String msg='Hello '+ name; //add a message to the model m.addAttribute('message', msg); return 'viewpage'; } else { String msg='Sorry '+ name+'. You entered an incorrect password'; m.addAttribute('message', msg); return 'errorpage'; } } }
4. Sukurkite kitus rodinio komponentus
Norint paleisti šį pavyzdį, šie rodinio komponentai turi būti WEB-INF/jsp kataloge.
viewpage.jsp
${message}
errorpage.jsp
${message} <br> <br>
Išvestis:
Atsisiųskite šį pavyzdį (sukurtą naudojant „Eclipse“)