У Spring MVC, @RequestParam анотація використовується для читання даних форми та автоматичного прив’язування їх до параметра, наявного у наданому методі. Отже, він ігнорує вимогу HttpServletRequest об'єкт для читання наданих даних.
Включаючи дані форми, він також відображає параметр запиту на параметр запиту та частини в багатокомпонентних запитах. Якщо типом параметра методу є Map і вказано назву параметра запиту, тоді значення параметра запиту перетворюється на Map, інакше параметр map заповнюється всіма іменами та значеннями параметрів запиту.
Приклад Spring MVC RequestParam
Давайте створимо сторінку входу, яка містить ім’я користувача та пароль. Тут ми перевіряємо пароль за допомогою певного значення.
1. Додайте залежності до pom.xml
org.springframework spring-webmvc 5.1.1.RELEASE javax.servlet servlet-api 3.0-alpha-1
2. Створіть сторінку запиту
Це сторінка входу, яка отримує ім’я та пароль від користувача.
index.jsp
UserName : <br> <br> Password : <br> <br>
3. Створіть клас контролера
У класі контролера:
- @RequestParam використовується для читання даних форми HTML, наданих користувачем, і прив’язування їх до параметра запиту.
- Модель містить дані запиту та надає їх для перегляду сторінки.
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. Створіть інші компоненти перегляду
Щоб запустити цей приклад, наведені нижче компоненти представлення мають бути розташовані в каталозі WEB-INF/jsp.
viewpage.jsp
${message}
errorpage.jsp
${message} <br> <br>
Вихід:
Завантажте цей приклад (розроблений за допомогою Eclipse)