不论控制器返回一个String,ModelAndView,View都会转换为ModelAndView对象,由视图解析器解析视图,然后,进行页面的跳转。

控制器处理方法----》ModelAndView对象----》视图解析器解析视图-----》页面的跳转

意义:视图解析器这样实现 MVC 的充分解耦(model controller 和view)

ModelAndView 对象:包含逻辑名和模型对象视图

视图解析器ViewResolver):解析后的得到最终的视图对象(View), 对于最终究竟采取何种视图对象对模型数据进行渲染,处理器并不关心,

                处理器工作重点聚焦在生产模型数据的工作上,从而实现 MVC 的充分解耦。

特点:

l)  视图解析器的作用比较单一:将逻辑视图解析为一个具体的视图对象。

2) 所有的视图解析器都必须实现 ViewResolver 接口。

常用视图解析器实现类

InternalResourceViewResolver:JSP 是最常见的视图技术,可以使用 InternalResourceViewResolve作为视图解析器

<bean  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- /WEB-INF/page/success.jsp
prefix前缀
suffix后缀
那么返回值只需要写success
-->
<property name="prefix" value="/WEB-INF/page/"></property>
<property name="suffix" value=".jsp"></property>
</bean>

JstlView(是InternalResourceViewResolver的子类):若项目中使用了JSTL,则SpringMVC 会自动把视图由InternalResourceView转为 JstlView 

注:使用JstlView需要添加两个包

JSTL标签库 全称是指 JSP Standard Tag Library  JSP标准标签库。是一个不断完善的开放源代码的JSP标签库。

标签库则是为了替换代码脚本。这样使得整个jsp页面变得更佳简洁。

taglibs-standard-impl-1.2.1.jar
taglibs-standard-spec-1.2.1.jar

视图:视图的作用是渲染模型数据,将模型里的数据以某种形式呈现给客户。

为了实现视图模型和具体实现技术的解耦,Spring 在 org.springframework.web.servlet 包中定义了一个高度抽象的 View 接口:

SpringMVC视图解析器概述的更多相关文章

  1. SpringMVC视图解析器

    SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器.当我们对SpringMVC控制的资源发起 ...

  2. SpringMVC视图解析器(转)

    前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视图解析器.当我们对SpringMVC控制的资源发起请求时,这些请求都会被Sprin ...

  3. SpringMVC 视图解析器

    SpringMVC 视图解析器 还记得SpringMVC 快速入门中,dispatcher-servlet.xml 配置的视图解析器么.它是SpringMVC 的核心知识点.本章节比较简单,明白视图解 ...

  4. springmvc 之 SpringMVC视图解析器

    当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中 ...

  5. springMVC视图解析器——InternalResourceViewResolver(转)

    springmvc在处理器方法中通常返回的是逻辑视图,如何定位到真正的页面,就需要通过视图解析器. springmvc里提供了多个视图解析器,InternalResourceViewResolver就 ...

  6. 深入SpringMVC视图解析器

    ViewResolver的主要职责是根据Controller所返回的ModelAndView中的逻辑视图名,为DispatcherServlet返回一个可用的View实例.SpringMVC中用于把V ...

  7. SpringMVC 视图解析器 InternalResourceViewResolver

    我们在使用SpringMVC的时候,想必都知道,为了安全性考虑,我们的JSP文件都会放在WEB-INF下, 但是我们在外部是不可以直接访问/WEB-INF/目录下的资源对吧, 只能通过内部服务器进行转 ...

  8. SpringMvc 视图解析器常见功能、类型转换、格式化

    springmvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  9. SSM-SpringMVC-05:SpringMVC视图解析器InternalResourceViewResolver配置

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 视图解析器------默认就有配置,但是默认的在实际使用过程中有很多不方便的地方,所以我们配置一道视图解析器 ...

随机推荐

  1. [ADS]An installation support file could not be installed

    ADS:ARM Developer Suits 错误:An installation support file could not be installed 描述: 之前安装了一个不能用的ADS的版本 ...

  2. PyQt5--QSplitter

    # -*- coding:utf-8 -*- ''' Created on Sep 20, 2018 @author: SaShuangYiBing Comment: ''' import sys f ...

  3. CRM项目之stark组件(2)

    那么从今天开始呢,我们就要开始设计属于我们自己的admin组件,起个名字就叫stark吧(当然你愿意叫什么都可以). stark组件之四步走 仿照admin组件实现流程,stark组件要实现四件事情: ...

  4. c++11の多线程应用

    std::thread 应用十分方便,通过#include<thread>引入 std::thread t(subFunction); t.join(); 主线程将等待子线程完成后,继续调 ...

  5. dispatchTouchEvent

    View /**  * Pass the touch screen motion event down to the target view, or this  * view if it is the ...

  6. Cocos2d-x CCControlPotentiometer之圆形音量button及特效

    1. 圆形音量button 事实上作者的本意应该是叫做"电位计button".可是我觉得它和我们的圆形音量button非常像,所以就这么叫它吧~先看效果: 好了,不多解释,本篇到此 ...

  7. 帝国CMS 列表模板页面 list.var 内容截取

    每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code list.var 中没有好的办法,只能用程序代码来实现.将整个HTML以一个变量来拼接.如下: ...

  8. vue.js 防暴力点击方案

    import lodash from 'lodash' <input v-on:onclick ="doStuff">methods: { doStuff:loadsh ...

  9. 使用verdaccio 搭建npm私有仓库

    使用verdaccio 搭建npm私有仓库 1. 为什么要搭建私有的npm仓库?    随着公司的业务越来越复杂,项目迭代速度也越来越快,那么项目间的常用的业务代码共享变得非常之有必要.但是对于公司的 ...

  10. HDU2066(SPFA+前向星)

    https://vjudge.net/problem/HDU-2066 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白 ...