Study/Spring
[Spring] Data Binding: @RequestParam, Auto Binding
찬 주
2023. 11. 9. 11:25
Data Binding
클라이언트가 서버에게 데이터를 전달했을 때, 서버가 전달된 데이터를 바인딩하는 것을 데이터 바인딩이라고 한다.
@RequestParam 사용
@RequestParam 어노테이션을 사용하면 요청 파라미터를 메소드 파라미터에 바인딩 해준다.
@RequestMapping(value="/docreate", method=RequestMethod.POST)
public String doCreate(@RequestParam("name") String name, @RequestParam("email") String email, Model model) {
Offer offer = new Offer();
offer.setName(name);
offer.setEmail(email);
}
Spring Data Binding
Spring에서는 Auto Binding을 제공한다. 전달된 데이터를 분석해서 자동으로 메서드에 있는 Bean으로 바인딩을 해주는 것이다. 이때 중요한 것은 파라미터의 이름와 멤버 변수의 이름이 같아야 한다는 점이다.
@RequestMapping(value="/docreate", methos=RequestMethod.POST)
public String doCreate(Offer offer) {
}
Spring에 의해 데이터 바인딩이 되면 다음과 같은 일이 발생한다.
- 새로운 Bean이 생성된다.
- 새로운 Bean이 요청 파라미터로 채워진다.
- Bean이 Model에 추가된다.
Bean이 자동으로 Model에 추가되기 때문에 View에서도 만들어진 Bean에 접근할 수 있다.접근하는 방법은 아래와 같이 중괄호{}를 사용하면 된다.
<html>
<head>
<title>title</title>
</head>
<body>
Hi, ${offer.name}.
</body>
</html>