后端——框架——视图层框架——spring_mvc——《官网》阅读笔记——第一章节12(核心对象,视图解析器,XmlViewResolver)

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的使用步骤如下:

  1. 第一步,编写views.xml。它指定viewName与View对象之间的关系。
  2. 第二步,创建XmlViewResolver对象,并注册。创建对象时指定views.xml的路径。它的默认路径是WEB-INF/views.xml
  3. 第三步,验证。

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、第四步,验证。

原文地址:https://www.cnblogs.com/rain144576/p/12903047.html