더북(TheBook)

16.3.2 ViewResolver 빈 등록

웹 플로우 2.0 이상에서는 별도의 지정 없이도 웹 플로우 작업 디렉터리에 있는 뷰 페이지에 뷰 리졸버를 매핑해 줍니다. 기존 스프링 MVC 애플리케이션에 웹 플로우를 연동할 경우, 이미 외부 뷰 리졸버가 매핑하고 있습니다. 그러므로 기존 뷰 리졸버를 계속 사용하면서 웹 플로우에 설정된 뷰 페이지가 변경되는 것을 방지하려면 MvcViewFactoryCreator 클래스를 사용해야 합니다. 그러면 스프링 MVC의 뷰 리졸버를 웹 플로우에서도 사용할 수 있습니다. 형식은 다음과 같습니다.

<bean id="viewFactoryCreator" 
      class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
    <property name="viewResolvers" ref="참조할 타일즈 뷰 리졸버"/>
</bean>

다음은 스프링 MVC 설정 파일에 MvcViewFactoryCreator 클래스를 빈으로 설정하는 예입니다.

ViewResolver 빈 등록

<webflow:flow-builder-services id="flowBuilderServices" 
         view-factory-creator="viewFactoryCreator"/>

<bean id="viewFactoryCreator" 
      class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
    <property name="viewResolvers" ref="tilesViewResolver"/>
</bean>

MvcViewFactoryCreator 클래스는 스프링 MVC의 뷰 리졸버를 스프링 웹 플로우에서 사용할 수 있도록 합니다. 예를 들어 앞의 예제처럼 스프링 웹 플로우에서 사용하고자 하는 뷰 리졸버가 tilesViewResolver라면 MvcViewFactoryCreator 빈에서 <property> 요소의 ref 속성 값에 설정합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.