파라미터 추출하기
클라이언트 요청으로 전달하는 파라미터 데이터를 전달 받는 여러 방식이 있다.
spring MVC는 필요한 데이터나 객체를 주입을 받아 사용한다.
HttpServletRequest : servlet, jsp에서 쓰는 방식 getParameter 등을 이용해서 데이터를 받아온다.
WebRequest : Spring MVC에서 제공하는 HttpServeletRequest를 확장한 것이다.
@PathVariable : 데이터가 요청 주소에 있을시 값을 주입받는 방식
Restful API 서버 프로그래밍에서 사용하는 방식
주소/값1/값2/값3과 같이 값이 온다..
@GetMapping("/test4/{data1}/{data2}")
public String test4(@PathVariable String data1,
@PathVariable String data2) {
System.out.println(data1 + " " + data2 + " " + data3);
return "result";
}
@RequestParam : 파라미터 데이터를 변수로 직접 주입받고 형 변환도 가능하다.
@GetMapping("/test5")
public String test5(@RequestParam int data1, @RequestParam int data2, @RequestParam int[] data3)
처럼 변수와 data 이름을 똑같이 받을 수도 있고
@RequestParam(value = "data1") int val1, 처럼 변수와 이름이 다르게 할 수도 있다.
객체로 파라미터 주입받기.
map이나 list로 Requestparam을 받으면 String으로만 받을 수 있다.
@ModelAttribute
파라미터를 객체로 받을 수 있다.
전달되는 파라미터의 이름과 동일한 프로퍼티에 자동으로 주입된다.
이런 객체를 커맨드 객체라고한다.
public String test2(@ModelAttribute DataBean bean)
이런식으로 사용하며 @ModelAttribute를 생략해서 DataBean bean만 써도 실행 가능하다.
DataBean은 입력으로 들어오는 매개변수와 같은 이름으로 멤버변수와 getter, setter가 있어야한다.
'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] form 태그 (0) | 2020.04.01 |
---|---|
[Spring] ViewResolver & 커맨드 객체 (0) | 2020.04.01 |
[Spring] 프로젝트 생성 & URL Mapping (0) | 2020.04.01 |
[Spring] Jdbc & JdbcTemplate & ConnectionPool (0) | 2020.03.25 |
[Spring] 리다이렉트, 인터셉트 (0) | 2020.03.24 |