English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans Spring MVC, @RequestParam Les annotations sont utilisées pour lire les données du formulaire et les lier automatiquement aux paramètres fournis par la méthode. Par conséquent, il ignore HttpServletRequest Les exigences de lecture des données fournies par l'objet.
Il inclut les données du formulaire, il mappera également les paramètres de la requête aux paramètres de la requête et aux parties de la requête multipart. Si le type de paramètre de méthode est Map et que le nom du paramètre de la requête est spécifié, la valeur du paramètre de la requête sera convertie en Map, sinon tous les noms et valeurs des paramètres de la requête rempliront les paramètres map.
Nous créons une page de connexion contenant le nom d'utilisateur et le mot de passe. Ici, nous utilisons des valeurs spécifiques pour vérifier le mot de passe.
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.1.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency>
Ceci est une page de connexion où nous recevons le nom d'utilisateur et le mot de passe de l'utilisateur.
index.jsp
<html> <body> <form action="hello"> Nom d'utilisateur : <input type="text" name="name"/> <br><br> Mot de passe : <input type="text" name="pass"/> <br><br> <input type="submit" name="submit"> </form> </body> </html>
Dans la classe contrôleur :
@RequestParam est utilisé pour lire les données de formulaire HTML fournies par l'utilisateur et les lier aux paramètres de la requête. Le modèle contient les données de la requête et les fournit à la page de visualisation.
HelloController.java
package com.w3codebox; 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) //Lire les données du formulaire fournies public String display(@RequestParam("name") String name, @RequestParam("pass") String pass, Model m) { if(pass.equals("admin")) { String msg="Hello"+ name; //Ajouter un message au modèle m.addAttribute("message", msg); return "viewpage"; } else { String msg="Sorry"+ name+". Vous avez entré un mot de passe incorrect"; m.addAttribute("message", msg); return "errorpage"; } } }
Pour exécuter cet exemple, les composants de vue suivants doivent se trouver dans le répertoire WEB-INF/dans le répertoire jsp.
viewpage.jsp
<html> <body> ${message} </body> </html>
errorpage.jsp
<html> <body> ${message} <br><br> <jsp:include page="/index.jsp></jsp:include> </body> </html> </html>
Sortie: