■ 주요 ViewResolver 구현 클래스
ViewResolver 구현 클래스 |
설 명 |
InternalResourceViewResolver |
뷰이름으로부터 JSP나 Tiles 연동을 위한 View 객체를 리턴 |
VelocityViewResolver |
뷰 이름으로부터 Velocity 연동을 위한 View 객체를 리턴 |
VelocityLayoutResolver |
VelocityViewResolver와 동일한 기능을 제공하며, 추가로 Velocity의 레이아웃 기능을 제고 |
BeanNameViewResolver |
뷰 이름과 동일한 이름을 갖는 빈 책체를 View 객체로 사용 |
ResourceBundleViewResolver |
뷰 이름과 View 객체간의 매핑 정보를 저장하기 위해 자원 파일을 사용 |
XmlViewResolver |
뷰 이름과 View 객체간의 매핑 정보를 저장하기 위해 XML 파일을 사용 |
■ InternalResourceViewResolver
● Jsp나 Html 파일과 같이 웹 어플리케이션의 내부 자원을 이용하여 뷰를 생성하는 AbstractUrlBasedView 타입의 뷰 객체를 리턴
● 기본적으로 사용하는 View 클래스임
● prefix, suffix 프로퍼티를 사용
<bean id="internalResource" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> |
■ BeanNameViewResolver
● 뷰 이름과 동일한 이름을 갖는 빈을 뷰 객체로 사용
● 주로 커스텀 View 클래스를 뷰로 사용해야 하는 경우에 사용
<bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
<bean id="download" class="sp.mvc.file.download.ExcelDown"/> |
▶ 특정 Controller에서 뷰의 이름을 "download"라고 지정 시 위의 sp.mvc.file.download.ExcelDown 클래스가 처리
■ XmlViewResolver
● 뷰 이름과 동일한 이름을 갖는 빈을 뷰 객체로 사용
● 별도의 XML 설정 파일로부터 빈 객체를 검색
● Location 프로퍼티의 값을 지정하지 않을 경우 기본값은 "/WEB-INF/views.xml"임
<bean id="viewResolver" class="org.springframework.web.servlet.view.XmlViewResolver"> |
■ 다수의 ViewResolver 설정
● 하나의 DispatcherServlet은 한 개 이상의 ViewResolver를 설정할 수 있음
● "order" 프로퍼티를 이용하여 뷰 이름을 검사할 ViewResolver의 순서를 결정
● "order" 프로퍼티의 값이 작을수록 우선 순위가 높으며 우선순위가 높은 ViewResolver가 null을 리턴하면, 다음 우선순위를 갖는 ViewResolver에 뷰을 요청
● 주의할 점은 InternalResourceViewResolver는 마지막 우선 순위를 갖도록 지정해야 함 <= InternalResourceViewResolver는 항상 뷰 이름에 매핑되는 뷰 객체를 리턴하기 때문에 null을 리턴하지 않음. 따라서 InternalResourceViewResolver의 우선순위가 높을 경우 우선순위가 낮은 ViewResolver는 사용되지 않게 됨.
<bean id="beanNameViewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="1"/> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="order" value="2"></property> <property name="prefix" value="jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> |
[참고자료] Spring 3.0 프로그래밍-최범균
'프로그램 > Spring 3.0' 카테고리의 다른 글
커스텀 View - 엑셀 다운로드(AbstractExcelView) (0) | 2012.05.22 |
---|---|
커스텀 View - 파일 다운로드(AbstractView) (0) | 2012.05.22 |
@Valid 어노테이션과 @InitBinder 어노테이션 (0) | 2012.05.21 |
ValidationUtils 클래스를 이용한 폼 값 검증 (0) | 2012.05.21 |
Errors 인터페이스와 BindingResult 인터페이스 (0) | 2012.05.21 |