* @RequestParam 어노테이션을 이용한 파라미터 매핑
컨트롤러를 구현하면서 가장 많이 사용되는 어노테이션이 바로 @RequestParam 어노테이션이다. @RequestParam 어노테이션은 HTTP 요청 파라미터를 메서드의 파라미터로 전달받을 때 사용된다. @RequestParam 어노테이션과 HTTP 요청 파라미터의 관계는 다음과 같다.
출처: http://devbox.tistory.com/entry/Spring-컨트롤러-메서드의-파라미터-타입 [장인개발자를 꿈꾸는 :: 기록하는 공간]
*스프링 어노테이션 종류
Annotation | Description | Use |
@Controller | 스프링 MVC의 컨트롤러 객체임을 명시하는 Annotation | Class |
@RequestMapping | 특정 URI에 매치오디는 클래스나 메소드임을 명시하는 Annotation | Class, Parameter |
@RequestParam | 요청(Request)에서 특정한 파라미터의 값을 찾아낼 때 사용하는Annotation | Parameter |
@RequestHeader | 요청(Request)에서 특정 HTTP 헤더 정보를 추출할 때 사용 | Parameter |
@PathVariable | 현재의 URI에서 원하는 정보를 추출할 때 사용하는 Annotation | Parameter |
@CookieValue | 현재 사용자의 쿠키가 존재하는 경우 쿠키의 이름을 이용해서 쿠키의 값을 추출 | Parameter |
@ModelAttribute | 자동으로 해당 객체를 뷰까지 전달하도록 만드는 Annotation | Method, Parameter |
@SessionAttribute | 세션상에서 모델의 정보를 유지하고 싶은 경우에 사용 | Class |
@InitBinder | 파라미터를 수집해서 객체로 만들 경우에 커스터마이징 | Method |
@ResponseBody | 리턴 타입이 HTTP의 응답 메시지로 전송 | Method, Return Type |
@RequestBody | 요청(Request)문자열이 그대로 파라미터로 전달 | Parameter |
@Repository | DAO 객체 | Class |
@Service | 서비스 객체 | Class |
@ModelAttribute는 요청에 따라서 처리를 하고 그 결과 값을 View에 전달해줌.
# Model 객체
다른 객체의 도움을 받아 만들어진 데이터를 뷰로 전달해야 한다면 Model 객체를 이용하면 간편하게 처리가 가능하다.
- 이때 Model은 addAttribute("name",Object) // addAttribute(Object) 가 있는데
- addAttribute("name",Object) : 객체에 특별한 이름을 부여해서 뷰에서 이름값을 이용하여 객체를 처리함
- addAttribute(Object) : 이름을 지정하지 않는 경우 자동으로 저장되는 객체의 클래스명 앞글자를 소문자로 처리한 클래스명을 이름으로 처리한다.
# Redirectattributes
리다이렉트 시점에 원하는 데이터를 임시로 추가해서 넘기는 작업도 가능하며 addFlashAttributes()는 임시 데이터를 전달한다.
출처: http://growingdev.tistory.com/36 [성장하는 신입개발자]
'Framework & Library > Spring & Egov' 카테고리의 다른 글
[Mybatis] 쿼리 파라미터 null 처리방법 (0) | 2017.10.16 |
---|---|
(스크랩)ModelAndView 를 통한 모델 설정 (0) | 2017.10.12 |
(스크랩)스프링의 컨트롤러, 핸들러 매핑, 인터셉터 (0) | 2017.10.10 |
[MyBatis3] MyBatis3 typeAlias 사용하기 (스크랩) (0) | 2017.09.29 |
maven dependency 오류 (0) | 2017.09.28 |