Spring MVCでは、

XmlViewResolver

は、XMLファイルのビューBeanに基づいて「ビュー名」を解決するために使用されます。デフォルトでは、 `XmlViewResolver`は

/WEB-INF/views.xml

からビューBeanをロードしますが、この場所は”

location

“プロパティで上書きできます:

<beans ...>
    <bean class="org.springframework.web.servlet.view.XmlViewResolver">
       <property name="location">
        <value>/WEB-INF/spring-views.xml</value>
       </property>
    </bean>
</beans>

上記の場合、 ”

/WEB-INF/spring-views.xml

“からビューBeanをロードします。 XmlViewResolverの例を参照してください。

1.コントローラー

コントローラクラスは、 ”

WelcomePage

“という名前のビューを返します。

…​.//…​
public class WelcomeController extends AbstractController{

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
    HttpServletResponse response) throws Exception {

ModelAndView model = new ModelAndView("WelcomePage");

        return model;
    }
}

===  2. XmlViewResolver

SpringのBean構成ファイルにXmlViewResolverを登録し、 "** /WEB-INF/spring-views.xml ** "からビューBeanをロードします。

<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-2.5.xsd”&gt

;

<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>

<!-- Register the bean -->
<bean class="com.mkyong.common.controller.WelcomeController"/>

<bean class="org.springframework.web.servlet.view.XmlViewResolver">
   <property name="location">
       <value>/WEB-INF/spring-views.xml</value>
   </property>
</bean>

</beans>

===  3. Beanを表示する

"**  view bean ** "は、SpringのBean構成ファイルで宣言されている通常のSpring Beanです。

.  "**  id ** "は解決する "ビュー名"です.

.  "**  class ** "はビューのタイプです.

.  "**  url ** "プロパティはビューのURLの場所です.

__File:spring-views.xml__

<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-2.5.xsd”&gt

;

<bean id="WelcomePage"
    class="org.springframework.web.servlet.view.JstlView">
    <property name="url" value="/WEB-INF/pages/WelcomePage.jsp"/>
</bean>

</beans>

** どのように動作するのですか?**  +コントローラによってビュー名 "**  WelcomPage ** "が返されると、 `XmlViewResolver`は" spring-views.xml "ファイルのBean ID" **  WelcomPage **  "を見つけ、対応するビューURL「** /WEB-INF/pages/WelcomPage.jsp ** 」を「DispatcherServlet」に戻します。

=== ソースコードをダウンロードする

ダウンロードする -  link://wp-content/uploads/2010/08/SpringMVC-XmlViewResolver-Example.zip[SpringMVC-XmlViewResolver-Example.zip](7KB)

=== リファレンス

.  http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/servlet/view/XmlViewResolver.html[XmlViewResolver

ドキュメンテーション]

link://tag/spring-mvc/[spring mvc]link://tag/xml/[xml]