중복으로 사용하는 메서드(request.getParameter)를 메서드의 매개변수에 @RequestParam, @ModelAttribute 사용해서 관심사를 하나로 묶어서 설계
입력 분리전
입력 분리후
이미지 출처 : 출처 : [스프링의 정석 - 기초편] 남궁성과 끝까지 간다. 패스트 캠퍼스
매개변수의 기본형
또는 String
타입에 사용
요청 파라미터를 연결할 매개변수에 붙이는 애너테이션
jsp에서 매개변수의 값을 바로 호출 가능
속성값 중 required=false 이면 생략 가능
정상 출력 및 에러 발생 경우
@RequestParam(name =”year”, required=false) String year]
http://localhost/ch2/requestParam3 → 정상 호출 year=null
http://localhost/ch2/requestParam3?year → 정상 호출 year=""
@RequestParam(name =”year”, required=false) int year]
http://localhost/ch2/requestParam3 → year=null 로 int는 null 처리하지 못해 500 에러 발생
http://localhost/ch2/requestParam8?year → int는 빈값 처리하지 못해 400 에러 발생 발생
@RequestParam(name =”year”, required=false, defaultValue="1") int year]
http://localhost/ch2/requestParam3 → 정상 호출 year=1
http://localhost/ch2/requestParam8?year 정상 호출 year=1
속성값 중 required=true 이면 매개변수 값이 있어야함.
정상 출력 및 에러 발생 경우
@RequestParam(name =”year”, required=true) String year]
http://localhost/ch2/requestParam3 → 매개변수 값이 없어 400 에러 발생
http://localhost/ch2/requestParam3?year → 정상 호출 year=""
참조형
타입에 사용 jsp resource 파일 연결 설정(InternalResourceViewResolver)
servlet-conttext.xml
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <beans:property name="prefix" value="/WEB-INF/views/" /> <beans:property name="suffix" value=".jsp" /> <beans:property name="order" value="2" /> </beans:bean>