1、概念
根据配置文件(默认名称为views.xml)进行视图解析。此时字符串viewName对应views.xml中配置bean的ID, 每个Bean都是View接口的实现类。
它与BeanNameViewResolver类似,本质的区别在于BeanNameViewResolver是根据IOC容器获取Bean,而XmlViewResolver是从views.xml中配置的bean中获取View对象。
示例如下:
<bean id="error" class="org.springframework.web.servlet.view.JstlView"> <property name="url" value="/views/error/error.jsp" /> </bean>
2、使用
XmlViewResolver的使用步骤如下:
- 第一步,编写views.xml。它指定viewName与View对象之间的关系。
- 第二步,创建XmlViewResolver对象,并注册。创建对象时指定views.xml的路径。它的默认路径是WEB-INF/views.xml
- 第三步,验证。
3、示例
1、第一步,创建XmlViewResolver
private XmlViewResolver getXmlViewResolver() { // 创建XmlViewResolver对象 XmlViewResolver xmlView = new XmlViewResolver(); // 创建resource对象 Resource resource = new ClassPathResource("/spring/mvc/views.xml"); // 设置地址 xmlView.setLocation(resource); return xmlView; }
2、第二步,注册XmlViewResolver
/** * 配置视图解析器 */ @Override public void configureViewResolvers(ViewResolverRegistry registry) { // 注册XmlViewResolver registry.viewResolver(getXmlViewResolver()); }
3、第三步,编写views.xml
<?xml version="1.0" encoding="UTF-8"?>
<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-3.0.xsd">
<bean id="error" class="viewResolver.MyView"/>
</beans>
4、第四步,验证。