一、视图解析流程

  springMVC中视图解析器

  

  

    1.视图最终的页面渲染。view视图来做,render

    2.跳转到目标视图,请求转发。

    3.遍历视图解析器,逻辑视图转换为物理视图。  

  1)视图

    视图的作用是渲染模型数据,将模型里的数据以某种形式呈现给客户,为了实现视图模型和具体实现技术的解耦,Spring在org.springframework.web.servlet包中定义了一个高度抽象的View接口。

  里面提供了两个方法:getContentType(视图要显示的内容类型),render(真正渲染视图)。

    即将逻辑视图转换为view接口实现的对象,springMVC调用view接口对象方法render完成视图渲染。

    视图对象由视图解析器负责实例化。由于视图是无状态的,所以他们不会有线程安全问题。

二、常用的视图实现类

  1)URL视图资源

    1.InternalResourceView:将jsp或其他资源封装成一个视图,是InternalTesourceViewResolver默认使用的视图实现类

    2.JstlView:如果jsp文件中使用了jstl国际化标签功能,则需要使用该视图。

    业务要求:访问一个页面,浏览器环境为中文,则显示中文,为英文则显示英文。

    国际化:

    1.写对应的资源文件 .properties

    国际化资源文件命名规则:资源文件名称_语言编码_国家编码.properties

    例:abc_zh_CN.properties

     abc_en_US.properties  

    key=value形式

    2.告知springMVC所要使用的资源文件

    3.JSTL:标签库

    fmt标签库里的message标签,可以通过key属性引用国际化资源文件中的value

    

    在上面这种方式中,必须用一个页面作为跳转,才可以经过springMVC核心控制器处理

    如何直接定义一个映射?

    mvc:view-contorller

这样就不需要经过目标方法的跳转

  注意:如果我们给某一个视图,配置了映射信息,其他控制器方法全部无效

  解决;加入<mvc:annotation-driven></mvc:annotation-driven>

  2)文档视图

    1.AbstractExcelView:Excel文档视图的抽象类。该视图类基于POI构造Excel文档  

三、自定义视图

  1)写一个视图类型

    实现一个接口view

  2)视图加载到spring容器中

  3)对应的视图解析器

springMVC2的更多相关文章

  1. springmvc2 一个控制器写多个方法(非注解方式)

    出处:http://blog.csdn.net/xuewenke/article/details/23895999 springmvc2 一个控制器写多个方法(非注解方式) 分类: spring 20 ...

  2. springMVC2 1入门程序

    1入门程序 .1需求 实现商品列表查询 .2需要的jar包 使用spring3.2.0(带springwebmvc模块) .1前端控制器 在web.xml中配置: <?xml version=& ...

  3. 老帖收藏,留供参考:SpringMvc2.5+Mybatis3.2.7

    一.项目背景 SpringMvc+Mybatis 数据库连接池是阿里巴巴的druid.日志框架式logback 二.配置文件 1.SpringMvc-servlet.xml <?xml vers ...

  4. 6.SpringMVC2

    1.视图解析 当客户端发出请求后,交由SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中对该请求的最合理的映射, ...

  5. 项目记事【SpringMVC-2】:将后台的对象,转成JSON报文

    Spring版本:3.2.7 Jackson版本: <!--Jackson --> <dependency> <groupId>com.fasterxml.jack ...

  6. 【Java EE 学习 83 下】【SpringMVC】【使用注解替代已过时的API】【SpringMVC、Hibernate整合】

    一.SpringMVC中注解的使用 1.为什么要使用注解 之前曾经提到过的三种控制器在spring3.0中都已经被明确标记为过时了,spring3.0推荐使用注解的方式替代三种控制器,实际上使用注解的 ...

  7. 学习笔记_springmvc返回值、数据写到页面、表单提交、ajax、重定向

    数据写到页面 后台往前台传数据 TestController添加 /** * 方法的返回值采用ModelAndView, new ModelAndView("index", map ...

  8. Spring MVC配置

    web配置 <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="ht ...

  9. spring mvc实现查询

    实体类:User package cn.bdqn.pojo; public class User { private String userName; private String password; ...

随机推荐

  1. node编写定时任务,for循环只执行一遍的解决办法

    在用node编写定时任务时候,发现for循环只执行i=0这一次,就不接着循环执行了,下面贴上代码: exports.task = async function(ctx){ let { app } = ...

  2. JWT是什么鬼

    什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点 ...

  3. 【原创】互联网项目中mysql应该选什么事务隔离级别

    摘要 企业千万家,靠谱没几家. 社招选错家,亲人两行泪. 祝大家金三银四跳槽顺利! 引言 开始我们的内容,相信大家一定遇到过下面的一个面试场景 面试官:"讲讲mysql有几个事务隔离级别?& ...

  4. clipboardjs复制到粘贴板

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...

  5. 宝塔控制面板创建ftp后链接不上的解决方法

    很多的新手在安装宝塔面板并且创建完ftp管理后链接ftp居然链接不上?有许多朋友都不知道本站q302博客也是基于宝塔控制面板管理的,本站在安装网站完成后也和你们一样ftp链接不上,后面经过多次测试之后 ...

  6. JEECG BOOT

    JEECGBOOT - 开源搜索 - 开源中国https://www.oschina.net/search?scope=blog&q=JEECGBOOT JEECG 基于代码生成器J2EE智能 ...

  7. Django(九)下:Ajax操作、图片验证码、KindEditor使用

    三.Ajax操作 ajax操作基于浏览器的xmlHttpRequest对象,IE低版本是另外一个对象,jQuery 1 版本对那两个对象做了封装,兼容性最好,2 .3版本不再支持IE低版本了. Aja ...

  8. vue 倒计时组件

    <template> <span> <i v-text="msg"></i> </span></template& ...

  9. DAY19、日常模块

    一.hashlib模块:加密1.基本使用:import hashlibcipher = hashlib.md5('需要加密的数据(二进制形式)'.encode('utf-8'))print(ciphe ...

  10. codeforces305A

    Strange Addition CodeForces - 305A Unfortunately, Vasya can only sum pairs of integers (a, b), such ...