HttpServletRequest, 단일형( String, int,,,), VO를 사용하여 입력 값을 받을 수 있다.
String이나 기본형으로 받을 수 있다.
주의 : HTML Form Control의 name 속성과 method의 parameter명이 반드시 같아야 한다.
단일형인 경우 HTML Form Control의 이름과 method parameter명이 다른 경우에 매핑을 해주거나, 필수입력 매개변수를 처리하거나, Form Control에 값이 없을 때 기본값을 설정해야할 때 사용.
method매개변수 앞에 정의
사용법)
1. HTML Form Control의 이름과 method parameter명이 다른 경우 => name속성을 사용.
<input type="text" name="name">
public String method( @RequestParam(name="Form Control명") String myName )
* HTML Form Control의 명과 method parameter명이 같다면 생략가능.
2. 필수 입력값의 처리
required = "true | false"
-이름은 필수 입력사항
public String method( @RequestParam(required="true") String name )
3. "" 나 null에 대한 처리
defaultValue="기본값"
-이름이 입력되지 않으면 기본값이 매개변수의 값으로 입력된다.
public String method( @RequestParam(required="false",defaultValue="기본값") String name )
(a.do?name=윤웅찬&age=20&zipcode=
"윤웅찬" = request.parameter("name");
"20" = request.parameter("age");
"" = request.parameter("zipcode");
null = request.parameter("email");)
HttpServletRequest, HttpSession사용.
Model, ModelAndView 사용.
org.springframework.ui패키지에서 제공되는 interface.
request와 session으로 동시에 값을 넣을 수 있다.
데이터와 view페이지를 분리할 수 있다.
@GetMapping
public String method(Model model){
-view페이지로 전달할 값 설정.
model.addAttribute("이름", 값);
-EL
${ requestScope.이름 }
}
org.springframework.web.servlet패키지에서 제공하는 클래스.
객체화를 개발자가 해야한다.(생명주기를 개발자가 관리)
View페이지와 데이터를 같이 가지고 있다.
@ExceptionHandler를 사용하여 예외처리할 때 사용.
@GetMapping(...)
public ModelAndView method(){
-view페이지 명 설정
mav.setViewName("뷰페이지명");
-view페이지로 전달할 값 설정.
mav.addObject("이름", 값);
ModelAndView를 리턴
return mav;
JSP에서는 HttpServletRequest의 내장객체(request)를 사용하여 값을 받아 화면을 구성.
-scriptlet
<%
String 이름 = (casting)request.getAttribute("이름");
%>
-EL
${ requestScope.이름 }
}