SimpleFormController를 이용해서 작업 처리 뒤 대개 특정 주소로 리다이렉트를 합니다. 대표적인 예를 들어보겠습니다.
edit.do?docId=56 이 주소에서 문서를 수정합니다. “확인” 버튼을 누르면 read.do?docId=56으로 가야하는데 views.properties에는 ? 뒷 부분을 지정할 수 없어 이런 저런 꼼수를 쓰곤 합니다.
아주 흔한 경우입니다. 당연히 스프링에는 이 문제를 깨끗하게 해결할 수 있는 방법이 있습니다
다음처럼 views.properties에 class를 정의합니다.
editSuccess.class=org.springframework.web.servlet.view.RedirectView
editSuccess.http10Compatible=false
editSuccess.contextRelative=true
editSuccess.url=/list.page
docId 매개변수를 read.do에 붙이고 싶다면 ModelAndView 객체의 model에 docId란 이름으로 값을 넣으면 됩니다.
mv.put(”docId”, 56);
스프링의 RedirectView 클래스 소스를 참조하시면 더 쉽게 이해하실 수 있습니다.
