Spring中的View和ViewResolver的使用

原创 2004年09月21日 18:16:00

打开Spring的源代码,我们可以在org.springframework.web.servlet.view包下看到很多的
View和ViewResolver类;View类为我们提供一些缺省的待扩展的View,如
org.springframework.web.servlet.view.document.AbstractExcelView提供了一个缺省的Excel
格式的View,org.springframework.web.servlet.view.document.AbstractPdfView提供了一个
缺省的pdf格式的View;通过资源文件的配置和ViewResolver的使用,我们可以向用户展示我们自
己的各具风格的View.

org.springframework.web.servlet.view包下有好几个ViewResolver实现,其中默认采用
InternalResourceViewResolver.比如配置文件如下:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
        <property name="prefix"><value>/WEB-INF/jsp/</value></property>
        <property name="suffix"><value>.jsp</value></property>
</bean>
上面的配置表示,将在Controller返回的ModelAndView的基础上,加上目录前缀/WEB-INF/jsp/,
加后文件名称后缀.jsp,由此等待下个页面如/WEB-INF/jsp/showCats.jsp


另外一种ViewResolver是ResourceBundleViewResolver,比如配置文件如下:
<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
  <property name="basename"><value>views-countries</value></property>
  <property name="defaultParentView"><value>modelView</value></property>
</bean>
basename的配置表示将从classes目录下的views-countries.properties文件中获取资源,这样
我们可以很方便的实现国际化与本地化;
defaultParentView表示所有的view都将从modelView中继承而来,这和log4j的配置很类似.

其它的ViewResolver与上面分析的两种类同.

版权声明:本文为博主原创文章,未经博主允许不得转载。

springmvc如何设置多个同类型的视图器(springmvc 多个 ViewResolver)

再做页面静态化处理时,有时候我们需要 两种或者两种以上的视图解析方式,比如 jsp,html,json,jstl,ftl等等,显然默认的 springmvc 只配置一种视图解析方式是满足不了我们的,但...
  • Mr_LeeHY
  • Mr_LeeHY
  • 2017年05月20日 11:11
  • 381

SpringMVC介绍之视图解析器ViewResolver

SpringMVC视图解析器 出处 http://haohaoxuexi.iteye.com/blog/1770554 前言    在前一篇博客中讲了SpringMVC的Controller控制...
  • lisaem
  • lisaem
  • 2016年07月26日 09:00
  • 1866

菜鸟之路——Spring MVC(五)ViewResolver

在Spring MVC中,ViewResolver 用来将用户控制器生成的返回结果解析成视图,View定义了不同的视图,并渲染给用户,但是Spring是怎样工作的呢?现在我们就分析下Spring如何解...
  • sjjsh2
  • sjjsh2
  • 2016年11月07日 11:04
  • 1403

【Freemarker】SpringMVC使用Freemarker作为视图解析

What is Freemarker?FreeMarker是一个基于Java的模板引擎,最初专注于使用MVC软件架构生成动态网页。但是,它是一个通用的模板引擎,不依赖于servlets或HTTP或HT...
  • xiaoping0915
  • xiaoping0915
  • 2017年05月31日 00:15
  • 2925

集合类自定义排序和springMVC viewResolver的顺序问题

看了springMVC的dispatcherServlet的源码,有个地方不是特别明白,一路找资料,懂了 所以需要记录一下。 关于initViewResolvers方法,我们知道springMVC里...
  • u011230736
  • u011230736
  • 2017年10月25日 10:10
  • 99

springmvc如何设置多视图器,springmvc 多个 ViewResolver

springmvc如何设置多视图器,springmvc 多个 ViewResolver
  • cai_chinasoft
  • cai_chinasoft
  • 2016年06月08日 10:53
  • 25358

19. Spring Boot 添加JSP支持【从零开始学Spring Boot】

【来也匆匆,去也匆匆,在此留下您的脚印吧,转发点赞评论;      您的认可是我最大的动力,感谢您的支持】 这个部分比较复杂,所以单独创建一个工程来进行讲解;      大体步骤: (1)      ...
  • linxingliang
  • linxingliang
  • 2016年07月24日 23:09
  • 40207

SpringMVC配置JSON、JSP、FreeMark多视图解析器配置

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring...
  • dearsny
  • dearsny
  • 2015年04月25日 21:58
  • 3798

springmvc 报无法解析视图异常

最近,前端nginx的日志一直在报一些URL的请求后端响应是500状态码,于是缓存其结果,可以看到一直是报一个 javax.servlet.ServletException: Could not re...
  • linsongze2011
  • linsongze2011
  • 2015年01月15日 10:18
  • 2899

Spring MVC之跳转路径如何摆脱ViewResolver的束缚,跳转到不同的目录?

在使用Spring MVC的过程中,我们可能遇到这样的问题,viewResolver的前缀和后缀都进行了配置,例如下面这样: 按这种配置来说,如果我们在Controller里设置逻辑视图...
  • weixin_38437243
  • weixin_38437243
  • 2017年11月10日 10:31
  • 72
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring中的View和ViewResolver的使用
举报原因:
原因补充:

(最多只允许输入30个字)