본문 바로가기

Spring

@RequestParam 어노테이션

Spring 프레임워크에서 지원하는 @RequestParam 애너테이션이다.

java에서 지원하는 request.getParameter(""); 메서드를 사용 하지 않고 브라우저에서 넘기는 전달값을 받을수있다.

ModelAndView 메서드에서 파라미터 인자 내부에서 사용 가능하다.

- 사용 예시

public ModelAndView login2(@RequestPara("전달받을 파라미터 명칭")

- loginController.java -

- @RequestParam required 속성 -

로그인 하는 경우 ID와 비밀번호 같은 정보는 반드시 컨트롤러에 전달 되어야 한다.

@RequestParam의 require속성을 이용하면 반드시 전달 해야 하는 필수 매개변수인 경우와 그렇지 않은 경우를 설정 할 수 있다.

- @RequestParam 적용시 required 속성을 생략시 기본값은 true이다

- required 속성을 true로 설정하면 메서드 호출 시 반드시 지정한 이름의 매개변수를 전달 해야 한다.(매개변수가 없을시 예외 발생)

-required 속성을 false로 설정 하면 메서드 호출시 지정한 이름의 매개변수가 전달되면 값을 저장하고 없으면 null을 할당한다.

 

- @RequestPara 이용한 Map에 매개변수 값 설정 -

전송 되는 파라미터의 수가 많을경우 일일이 변수를 지정 할 수 없다.

이러 할 경우 전달되는 파라미터 값들을 Map에 저장 가능하다.

-@ModelAttribute를 이용한 VO에 매개변수 값 설정-

@ModelAttribute() 애너테이션을 이용 하게 될경우 전달되는 파라미터 명칭으로 자동으로 VO 클래스에 속성값을 저장함.

ModelAndView 클래스내 addObject() 메서드를 이용 하지 않아도 View 페이지에 데이터 바인딩이 가능하다.

- Model 클래스를 이용해 값 전달 -

Model 클래스 이용하여 컨트롤러 메소드 호출시 JSP 페이지로 데이터를 바로 바인딩 하여 전달 할 수 있다.

Model 클래스의 addAttribute() 메서드는 ModelAndView의 addObject() 메서드와 같은 기능을 제공한다.

Model 클래스는 따로 뷰 정보를 전달 할 필요가 없을 때 사용하면 편리하다.