※별도의 로직을 처리할 필요없이 단순히 뷰 페이지를 출력(이동) 할 때 사용.
(예로 홈페이지의 소개글이나 연혁 등 처리 로직이 필요없는 단순 페이지)
◆ParameterizableViewController
- 요청 URL에 상관없이 설정파일에 지정한 뷰로 이동
- viewName 프로퍼티에 사용할 뷰 이름을 지정
◆UrlFilenameViewController
- URL로 뷰로 이동할 뷰를 추출
▶ /movePage.sp 요청이 들어오면 moveController가 요청을 처리함
moveController는 별도의 로직을 처리하지 않고 프로퍼티에 설정한 뷰를 선택.
위의 ParameterizableViewController(moveController)는 다음과 같은 ModelAndView를 리턴하는 것과 같음
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("userReg");
return modelAndView;
▶ /userReg.sp 요청이 들어오면 urlMoveController가 요청을 처리함
UrlFilenameViewController는 URL로 부터 뷰 이름을 추출하므로 userReg 뷰를 선택하게 됨
뷰의 선택은 요청 URL와 확장자와 확장자 앞의 '/'를 제외한 값을 뷰 이름으로 리턴
만약 요청 url이 /aaa/bbb.sp라면 aaa/bbb의 뷰를 선택하게 됨
(예로 홈페이지의 소개글이나 연혁 등 처리 로직이 필요없는 단순 페이지)
◆ParameterizableViewController
- 요청 URL에 상관없이 설정파일에 지정한 뷰로 이동
- viewName 프로퍼티에 사용할 뷰 이름을 지정
◆UrlFilenameViewController
- URL로 뷰로 이동할 뷰를 추출
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- HandlerMapping --> <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/movePage.sp">moveController</prop> <prop key="/userReg.sp">urlMoveController</prop> </props> </property> </bean> <!-- ViewResolver --> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.JstlView</value> </property> <property name="prefix"> <value>jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <bean id="moveController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="userReg"></property> </bean> <bean id="urlMoveController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"></bean> </beans> |
▶ /movePage.sp 요청이 들어오면 moveController가 요청을 처리함
moveController는 별도의 로직을 처리하지 않고 프로퍼티에 설정한 뷰를 선택.
위의 ParameterizableViewController(moveController)는 다음과 같은 ModelAndView를 리턴하는 것과 같음
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("userReg");
return modelAndView;
▶ /userReg.sp 요청이 들어오면 urlMoveController가 요청을 처리함
UrlFilenameViewController는 URL로 부터 뷰 이름을 추출하므로 userReg 뷰를 선택하게 됨
뷰의 선택은 요청 URL와 확장자와 확장자 앞의 '/'를 제외한 값을 뷰 이름으로 리턴
만약 요청 url이 /aaa/bbb.sp라면 aaa/bbb의 뷰를 선택하게 됨
[참고자료] 스프링 2.5 프로그래밍 (최범균)
'프로그램 > Spring 2.5' 카테고리의 다른 글
AbstractCommandController (0) | 2012.03.08 |
---|---|
AbstractController (0) | 2012.03.07 |
Spring Controller의 종류 (0) | 2012.03.07 |
[22일차] spring MVC 예제 - 게시판 구현 (MultiActionController) (8) | 2012.03.05 |
[21일차] spring MVC 예제 - 4 (MultiActionController) (0) | 2012.02.29 |