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

Spring MVC @RequestParam 애노테이션

Spring MVC에서 @RequestParam 주석은 양식 데이터를 읽고 자동으로 그 안의 파라미터에 바인딩하는 데 사용됩니다. 따라서, 다음을 무시합니다. HttpServletRequest 객체가 제공하는 데이터의 요구 사항을 읽습니다.

양식 데이터를 포함하여, 요청 파라미터를 쿼리 파라미터 및 다중 부분 요청의 부분으로 매핑합니다. 메서드 파라미터 타입이 Map이고 요청 파라미터 이름이 지정되면 요청 파라미터 값을 Map으로 변환합니다. 그렇지 않으면 모든 요청 파라미터 이름과 값으로 map 파라미터를 채웁니다.

Spring MVC RequestParam 예제

우리는 사용자 이름과 비밀번호를 포함한 로그인 페이지를 생성합니다. 여기서는 특정 값으로 비밀번호를 검증합니다。

1、의존성을 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、요청 페이지 생성

이는 사용자로부터 이름과 비밀번호를 받는 로그인 페이지입니다。

index.jsp

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

3、컨트롤러 클래스 생성

컨트롤러 클래스에서:

@RequestParam은 사용자가 제공한 HTML 양식 데이터를 읽고 request 파라미터에 바인딩하는 데 사용됩니다。 모델은 요청 데이터를 포함하고 검토 페이지에 제공합니다。

HelloController.java

package com.w;3codebox;
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)
    //제공된 양식 데이터 읽기
    public String display(@RequestParam("name") String name, @RequestParam("pass") String pass, Model m)
    {
        if(pass.equals("admin"))
        {
            String msg="Hello"+ 이름;
            //모델에 메시지 추가
            m.addAttribute("message", msg);
            return "viewpage";
        }
        else
        {
            String msg="Sorry"+ 이름+". 잘못된 비밀번호를 입력하셨습니다.";
            m.addAttribute("message", msg);
            return "errorpage";
        }   
    }
}

4를 생성하십시오.

이 예제를 실행하려면 다음 뷰 컴포넌트가 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>

출력: