视图解析器(ViewResolver)

Exisi 2022-06-28 14:08:43
Categories: Tags:

 

 

 

 

viewResolver

描述

InternalResourceViewResolver

将逻辑视图名字解析为一个路径

InternalResourceViewResolver不管能不能解析它都不会返回null,也就是说它拦截了所有的逻辑视图,让后续的解析器得不到执行,所以InternalResourceViewResolver必须放在最后

BeanNameViewResolver 

将逻辑视图名字解析为beanName属性,从而根据name属性,找定义Viewbean

ResourceBundleResolver

将视图解析为资源bundle(一般为属性文件)

BeanNameViewResolver一样,只不过定义的view-bean都在一个properties文件中,用这个类进行加载这个properties文件

XmlViewResolver

ResourceBundleResolver一样,只不过定义的view-bean在一个xml文件中,用这个类来加载xml文件,DispatcherServlet会加载所有的viewResolver到一个list中,并按照优先级进行解析。 

ContentNegotiatingViewResolver

通过客户端需要的内容类型来解析视图

FreeMarkerViewResolver

将视图解析为FreeMaker模板

JaperReportsViewResolver

将视图解析为JasperReports定义

TitleViewResolver

将视图解析为Apache Tile定义,其中tile ID与视图名称相同。注意有两个不同的TileViewResolver实现,分别对应Tile 2.0Tile 3.0

UrlBaseViewResolver

直接根据视图的名称解析视图,视图的名称会匹配一个物理视图的定义

VelocityLayoutViewResolver

将视图解析为Velocity布局,从不同的Velocity模板中组合界面

VelocityViewResolver

将视图解析为Velocity模板

XsltViewResolver

将视图解析为XSLT转换后的结果

 

类属性

描述

order

视图解析的优先级

prefix

视图的相对路径的根目录

suffix

视图文件的后缀,一般为.jsp

 

示例

<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">

  <property name="order" value="1" />

  <property name="prefix" value="/WEB-INF/page/" />

  <property name="suffix" value=".jsp" />

</bean>