English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
No Spring MVC, @RequestParam Anotação usada para ler dados de formulário e automaticamente ligá-los aos métodos que fornecem parâmetros. Portanto, ela ignora HttpServletRequest Requisitos de dados fornecidos pela leitura de objetos.
Inclui dados de formulário, também mapeia parâmetros de solicitação para parâmetros de consulta e partes de solicitações multipartidas. Se o tipo de parâmetro do método for Map e o nome do parâmetro de solicitação for especificado, o valor do parâmetro de solicitação será convertido para Map, caso contrário, todos os nomes e valores dos parâmetros de solicitação serão preenchidos no parâmetro map.
Criamos uma página de login que contém nome de usuário e senha. Aqui, usamos valores específicos para verificar a senha.
<!-- 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>
Esta é a página de login que recebe o nome de usuário e a senha do usuário.
index.jsp
<html> <body> <form action="hello"> Nome de usuário: <input type="text" name="name"/> <br><br> Senha: <input type="text" name="pass"/> <br><br> <input type="submit" name="submit"> </form> </body> </html>
Dentro da classe do controlador:
@RequestParam lê dados de formulário HTML fornecidos pelo usuário e os liga aos parâmetros da solicitação. O modelo contém dados de solicitação e os fornece à página de visualização.
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) //Ler os dados do formulário fornecidos public String display(@RequestParam("name") String name, @RequestParam("pass") String pass, Model m) { if(pass.equals("admin")) { String msg = "Hello"+ name; //Adicionar mensagem ao modelo m.addAttribute("message", msg); return "viewpage"; } else { String msg = "Sorry"+ name+". Você digitou uma senha incorreta"; m.addAttribute("message", msg); return "errorpage"; } } }
Para executar este exemplo, os componentes de visão a seguir devem estar localizados no WEB-INF/no diretório 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>
Saída: