Spring MVC XmlViewResolver example

In Spring MVC, XmlViewResolver is used to resolve “view name” based on view beans in the XML file. By default, XmlViewResolver will loads the view beans from /WEB-INF/views.xml, however, this location can be overridden through the “location” property :

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

In above case, it loads the view beans from “/WEB-INF/spring-views.xml“. See XmlViewResolver example :

1. Controller

A controller class, returns a view, named “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

Register the XmlViewResolver in the Spring’s bean configuration file, loads the view beans from “/WEB-INF/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 
   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. View beans

The “view bean” is just a normal Spring bean declared in the Spring’s bean configuration file, where

  • “id” is the “view name” to resolve.
  • “class” is the type of the view.
  • “url” property is the view’s url location.

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>

How it works ?

When a view name “WelcomPage” is returned by controller, the XmlViewResolver will find the bean id “WelcomPage” in “spring-views.xml” file, and return the corresponds view’s URL “/WEB-INF/pages/WelcomPage.jsp” back to the DispatcherServlet.
使用另外一个xml来配置url的匹配页面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值