일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링
- 로또
- full text indexing
- 자바 야구게임
- 형변환
- 상속예제
- Login with OAuth Authentication
- IBatis procedure
- 가변인자
- 전체
- 자바
- 이클립스
- angular2
- 단축키
- 전자정부
- 25가지 효율적인 sql작성법
- 다형성
- 추상클래스
- 상속
- jquery
- 페이징
- 야구게임
- 업캐스팅
- while
- Full text
- Validations
- Random
- 전체텍스트
- 다운캐스팅
Archives
- Today
- Total
nalaolla
@RequestParam 본문
728x90
반응형
@RequestParam
관련 문서
required
- spring framework 2.5 or higher
RequestParam annotation은 key=value 형태로 화면에서 넘어오는 쿼리스트링 혹은 폼 데이터를 메소드의 파라미터로 지정한다. 대체로 파라미터의 개수가 적을때 사용한다.
method( @RequestParam( PARAM ) Obj )
method( @RequestParam Map)
- PARAM: 전달되는 파라미터의 이름을 지정한다. 이름 외에 기본값(defaultValue), 필수여부(required)를 설정할 수 있다. 값이 할당될 변수의 타입이 Map 혹은 MultiValueMap일 땐 명시하지 않는다.
- Obj: PARAM으로 지정된 이름과 일치하는 파라미터의 값을 할당할 변수. 보통 String 타입을 선언하지만 넘 어온 값이 반드시 숫자일 경우에 한해서 int 등의 숫자 타입도 가능하다.
이름과 변수를 지정하는 방식 (1:1 매핑)
아래에서 xxx/editBlog.do?blogId=3 과 같이 접근할 때, editBlogHandler 메소드의 파라미터인 blogId에는 3이 셋팅된다. 필수 요건이 아닐 경우, @RequestParam(value="id", required="false")와 같이 옵션을 주고 사용할 수 있다.
@Controller public class BlogController { @RequestMapping("/editBlog") public ModelMap editBlogHandler(@RequestParam("blogId") int blogId) { blog = blogService.findBlog(blogId); return new ModelMap(blog); } // ... } | cs |
@RequestMapping(value="/...", method={RequestMethod.GET, RequestMethod.POST}) public String submit(HttpServletRequest req, @RequestParam(value="num1") int num1, @RequestParam(value="num2") int num2, @RequestParam(value="oper") String oper) throws Exception { // value: request parameter의 이름 // 생략 } //@RequestParam 어노테이션이 적용된 파라미터는 기본적으로 필수 파라미터이다. //따라서, 명시한 파라미터가 존재하지 않을 경우 400 에러가 발생한다. //여기서 파라미터에 값이 있을수도 없을수도 있는 로직을 구현하려면 다음처럼 작성한다. @RequestMapping(value="/...", method={RequestMethod.GET, RequestMethod.POST}) public String submit(HttpServletRequest req, @RequestParam(value="num1", defaultValue = "0") int num1, @RequestParam(value="num2", defaultValue = "0") int num2, @RequestParam(value="oper", required=false) String oper) throws Exception { // 생략 } | cs |
Map 방식 (N:1 매핑)
값을 할당할 변수의 타입을 Map 혹은 MultiValueMap으로 사용하는 방법.
@RequestMapping("/faqDetail") public String faqDetail(@RequestParam HashMap<String, String> map) { String searchValue = map.get("searchValue"); // req.getParameter("searchValue") 와 같다. return "/board/faq/faqDetail"; } | cs |
728x90
반응형
'SPRING' 카테고리의 다른 글
Spring Framework: beans - 의존관계 설정 (0) | 2016.05.31 |
---|---|
Spring Framework: 포워딩/리다이렉션 (0) | 2016.05.31 |
@ModelAttribute (0) | 2016.05.31 |
@Controller (0) | 2016.05.31 |
@RequestMapping (0) | 2016.05.31 |