RequestParam으로 쿼리 파라미터 잡기, 모델 소개

Soo·2024년 3월 7일

Request Param

HTTP 요청의 쿼리 스트링의 파라미터나 폼 데이터

쿼리스트링 : URL의 일부, 웹 서버에 보낼 추가 파라미터를 포함합니다. URL 끝에 물음표(?) 다음에 위치하며 key=value 형태입니다. 여러 개의 파라미터가 있는 경우에는 앰퍼샌드(&)로 구분됩니다. 쿼리파라미터라고도 합니다.
http://example.com/search?query=AI&sort=recent

Controller에서 @RequestParam을 사용해서 HTTP 요청의 파라미터를 Java 메소드의 인수로 쉽게 매핑할 수 있습니다.

사용 예시

**localhost:8080/login?name=test**

/login으로 파라미터 요청이 오면 @ReqestParam을 통해 String name으로 매핑을 해줍니다.

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class LoginController {

    @RequestMapping("/login")
    public String gotoLoginPage(@RequestParam("name") String name) {
        System.out.println("Request Param is " + name);
        return "login";
    }
}

결과

Request Param is test

만약, 쿼리파라미터를 받아서 JSP 파일에서 사용하고 싶다면??

ModelMap을 사용하면됩니다.

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class LoginController {

    @RequestMapping("/login")
    public String gotoLoginPage(@RequestParam("name") String name, ModelMap model) {
				model.put("name", name);
        System.out.println("Request Param is " + name);
        return "login";
    }
}

gotoLoginPage()에서 ModelMap을 파라미터로 받고 JSP페이지에서 사용할 변수를 넣어줍니다.

login.jsp

${} JSP 표현식을 사용해서 Controller에서 받아온 파라미터를 사용할 수 있습니다.

<head>
    <title>Login Page</title>
</head>
<body>
welcome to the login page ${name}!
</body>
</html>

결과

localhost:8080/login?name=test

welcome to the login page test!

0개의 댓글