Spring MVC XmlViewResolverの例
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”>
;
<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”>
;
<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]