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

Annotazione RequestParam in Spring MVC

In Spring MVC, @RequestParam L'annotazione viene utilizzata per leggere i dati del modulo e per bind automaticamente i parametri a metodi che forniscono i parametri. Pertanto, ignora HttpServletRequest Obiettivo di lettura dei dati forniti dall'oggetto.

Includendo i dati del modulo, mapperà anche i parametri di richiesta ai parametri di ricerca e alle parti di una richiesta multipart. Se il tipo del parametro del metodo è Map e è specificato il nome del parametro di richiesta, il valore del parametro di richiesta viene convertito in Map, altrimenti verranno utilizzati tutti i nomi e i valori dei parametri di richiesta per riempire il parametro map.

Esempio di RequestParam in Spring MVC

Creiamo una pagina di login che contiene nome utente e password. Qui utilizziamo valori specifici per verificare la password.

1. Aggiungere la dipendenza al file 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. Creare la pagina della richiesta

Questa è la pagina di login che riceve il nome utente e la password dall'utente.

index.jsp

<html>
<body>
<form action="hello">
Nome utente: <input type="text" name="name"/> <br><br> 
Password: <input type="text" name="pass"/> <br><br> 
<input type="submit" name="submit">
</form>
</body>
</html>

3. Creare la classe del controller

Nella classe del controller:

@RequestParam viene utilizzato per leggere i dati del form HTML forniti dall'utente e li associa ai parametri della richiesta. Il modello contiene i dati della richiesta e li fornisce alla pagina di visualizzazione.

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")
    //Leggi i dati del modulo forniti
    public String display(@RequestParam("name") String name, @RequestParam("pass") String pass, Model m)
    {
        if(pass.equals("admin"))
        {
            String msg="Hello " + name;
            //Aggiungi un messaggio al modello
            m.addAttribute("message", msg);
            return "viewpage";
        }
        else
        {
            String msg="Sorry " + name + ". Hai inserito una password errata";
            m.addAttribute("message", msg);
            return "errorpage";
        }   
    }
}

4、Creazione di altri componenti di vista

Per eseguire questo esempio, i seguenti componenti di vista devono essere presenti nella directory WEB-INF/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>

Output: