본문 바로가기
Framework/Spring Framework

[Spring Framework] Form 데이터(폼 데이터) @ReuqestParam

by 원동호 2018. 7. 25.
반응형

@RequestParam 어노테이션

@RequestParam 어노테이션을 이용해서 데이터를 전송하는 방법에 대해서 알아보자.

1. @RequestParam + String 이용하는방법

@RequestMapping("/tests") 
//@RequestParam의 (" ") 괄호 안의 변수명과 url의 쿼리스트링 변수명과 같아야 한다. 
//@RequestParam으로 받은 파라미터값을 각각 id, passwd에 넣어준다. 	
public String test(Model model,@RequestParam("id") String id, @RequestParam("passwd") String passwd) { 		
	model.addAttribute("id",id); 		
	model.addAttribute("passwd",passwd); 		
	return "test"; 	
}

2. @RequestParam + Map 이용하는 방법

@RequestMapping("/tests") 	
public String tests(@RequestParam Map<String,String> param,Model model){ 	
	String id=param.get("id"); 		
	String passwd=param.get("passwd"); 		
	model.addAttribute("id",id); 		
	model.addAttribute("passwd",passwd); 		
	return "test"; 	
} 
 

★★유의할점

 

HttpServletRequest 인터페이스를 사용하게 되면 파라미터 값을 요청하지 않아도 뷰 페이지를 요청할 수 있지만,

@RequestParam 어노테이션은 데이터가 들어오길 기다리고 있으므로 파라미터 값이 요청되지 않으면 뷰 페이지를 호출 하지 않는다.

@RequestParam 이용시 값이 반드시 있어야한다.

 

근데 @RequestParam 을 Map으로 받으면 파라미터 값을 요청하지 않아도 뷰 페이지는 요청한다. 왜일까....?

 

 

반응형

댓글