7.FreeMarkerView类
继承自AbstractTemplateView抽象类。
直接看renderMergedTemplateModel方法,renderMergedTemplateModel内部会调用doRender方法:

8. RedirectView类
继承自AbstractUrlBasedView,并实现SmartView接口。SmartView接口定义了1个boolean isRedirectView();方法。
该视图的renderMergedOutputModel方法主要就是通过response.sendRedirect进行重定向。
有关RedirectView方面的知识楼主另外写了1篇博客。
9.ViewResolver接口
视图解释器,用来解析视图View,与View接口配合使用。
该接口只有1个方法,通过视图名称viewName和Locale对象得到View接口实现类:
View resolveViewName(String viewName, Locale locale) throws Exception;
10.AbstractCachingViewResolver抽象类
带有缓存功能的ViewResolver接口基础实现抽象类,该类有个属性名为viewAccessCache的以 "viewName_locale" 为key, View接口为value的Map。
该抽象类实现的resolveViewName方法内部会调用createView方法,方法内部会调用loadView抽象方法。
11.UrlBasedViewResolver类
继承自AbstractCachingViewResolver抽象类、并实现Ordered接口的类,是ViewResolver接口简单的实现类。

该类复写了createView方法:

父类(AbstractCachingViewResolver)的createView方法内部会调用loadView抽象方法,UrlBasedViewResolver实现了这个抽象方法:


下面对UrlBasedViewResolver做1个test,配置如下:
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="prefix" value="/WEB-INF/view/"/> <property name="suffix" value=".jsp"/> <property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView"/> <property name="viewNames"> <array> <value type="java.lang.String">*</value> </array> </property> <property name="contentType" value="text/html;charset=utf-8"/> <property name="attributesMap"> <map> <entry key="mytest" value="mytestvalue"/> </map> </property> <property name="attributes"> <props> <prop key="test">testvalue</prop> </props> </property> </bean>
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-77343-2.html
这是的侵略行径
都有机场