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>