English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Anotação RequestParam do Spring MVC

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.

Exemplo de Spring MVC RequestParam

Criamos uma página de login que contém nome de usuário e senha. Aqui, usamos valores específicos para verificar a senha.

1、Adicionar dependência ao pom.xml

    <!-- 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>

2、Criar página de solicitação

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>

3、Criar classe do controlador

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";
        }   
    }
}

4、criar outros componentes de visão

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: