1.视图解析

当客户端发出请求后,交由SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中对该请求的最合理的映射,然后通过该HandlerMapping取得其对应的Handler
接着再通过相应的HandlerAdapter处理该Handler,处理之后会返回一个ModelAndView对象
Spring就会把该View渲染给用户,即返回给浏览器
在这个渲染的过程中,发挥作用的就是ViewResolver和View

ViewResolver和View是Spring处理视图的2个重要接口
ViewResolver提供了视图名称和真实视图之间的映射
View是真正进行视图渲染,把结果返回给浏览器的

SpringMVC中的所有handler方法都需要解析某一个逻辑视图名称,比如String类型、View或者ModelAndView实例,而Spring提供了一组视图解析器来解析
AbstractCachingViewResolver
UrlBasedViewResolver
InternalResourceViewResolver
XmlViewResolver
ResourceBundleViewResolver
VelocityViewResolver / FreeMarkerViewResolver
BeanNameViewResolver

checkbox标签
用法同radiobutton标签
绑定数据时,有3种方式:
绑定的值是boolean类型,值为true,则复选框被选中
绑定的值的类型是array或者java.util.Collection,集合中有的值,对应的复选框被选中
对于其它绑定的类型,绑定的值相等,则对应复选框被选中

InternalResourceViewResolver
它是URLBasedViewResolver的子类
它定义了前缀、后缀,并和控制器返回的视图名称拼接在一起,并解析为视图对象
它会将模型数据存放到对应的HttpServletRequest中,然后转发到相应的页面视图

ResourceBundleViewResolver
它是AbstractCachingViewResolver的子类
它需要有一个配置文件来定义逻辑视图名称和真正View对象的对应关系
默认情况下这个配置文件是在classpath根目录下的views.properties

2.视图技术之JSP&JSTL

Spring为JSP和JSTL这些view层技术提供了几个开箱即用的解决方案
与在Spring中采用的任何其他视图技术一样,使用JSP需要一个视图解析器来解析你的视图,常用的是InternalResourceViewResolver和ResourceBundleViewResolver

在此基础上,Srping提供了一组全面的用于处理表单元素进行数据绑定的标签,让JSP开发变得更加容易

表单标签:

Spring的表单标签,捆绑在spring-webmvc.jar中。这些标签库的描述符被称为spring-form.tld
要使用该标签库,需要在JSP页面顶端配置:

常见标签有:
Form标签 input标签 radiobutton标签 checkbox标签
Select标签 password标签 textarea标签 hidden标签
Errors标签 HTML5标签

form标签,将命令对象放置到PageContext中,默认名为“command”,并用其他子标签绑定属性值

input标签

password标签

radiobutton标签
方式1:

方式2:

方式3:

select标签
方式1:

方式2:

textarea标签

hidden标签

3.视图技术之文档视图

输出Excel步骤:
导入poi.jar包
编写类,扩展AbstractExcelView,实现buildExcelDocument()方法
在配置文件中
<bean class=“org.springframework.web.servlet.view.BeanNameViewResolver”/>
<bean id=“userExcel” class=“com.web.UserListExcelView”/>
在controller中跳转指向userExcel类型
return “userExcel”;

输出PDF步骤:
导入itext相关包
编写PdfView类,继承自AbstractPdfView,并实现其抽象方法
在springmvc-servlet.xml配置文件中配置该bean对象
<bean id=“userPdf” class=“com.web.UserListPdfView”/>
在controller中跳转指向pdfview类型
return “userPdf”;

6.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. springMVC2

    一.视图解析流程 springMVC中视图解析器 1.视图最终的页面渲染.view视图来做,render 2.跳转到目标视图,请求转发. 3.遍历视图解析器,逻辑视图转换为物理视图. 1)视图 视图的 ...

  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. 读书笔记<深入理解JVM>01 关于OutOfMemoryError 堆空间的溢出

    代码片段如下: package com.gosaint.shiro; import java.util.ArrayList; import java.util.List; public class H ...

  2. linux 中更改权限命令chown,chmod,chgrp

    写在前面,关于chown,chmod的区别 chown用法 用来更改某个目录或文件的用户名和用户组的 chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径) 例1:chown root: ...

  3. 磨刀——python及相关工具

    1.python语言包 1.1去https://www.python.org/,在download栏下载最新版python2或者python3 tips:1.点击下载会很慢,推荐:迅雷,百度云盘下载, ...

  4. ZROI2018提高day5t3

    传送门 分析我们可以根据性质将这个序列构造成一个环:0,a[1~n],0,a[n~1] 这中间的0是为了起间隔作用的. 我们又知道b[i]=a[i-1]^a[i+1] c[i]=b[i-1]^b[i+ ...

  5. 《Maven实战》笔记-8-构建部署Web项目

      一.Web项目结构 1.显式指定Web项目打包方式为war:   2.默认目录 根据“约定大于配置”的规则,Web项目的类及资源文件默认位置为src/main/java和src/main/reso ...

  6. 日常学习随笔-自定义了一个MyArrayListDefin集合(数组扩容+迭代器+JDK1.8新方法+详细说明)

    一.自定义了一个ArrayList的模拟集合(源码+详细说明) 前段时间分析了下ArrayList集合的源码,总觉得如果不自己定义一个的话,好像缺了点什么,所以有了如下的代码. 代码可以说是逐行注释了 ...

  7. 配置PL/SQL Developer连接Oracle数据库

    准备: PL/SQL Developer:我用的是plsqldev1005(32位) win32_11gR2_client:记住一定是32位的,因为PL/SQL Developer只认32位的 安装成 ...

  8. Markdown语法简介 | Markdown Tutorial

    Markdown是一种轻量级标记语言,允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的HTML文档. 与Word相比,使用Markdown最大的好处是可以使人们将注意力集中与文字本身而非排版 ...

  9. [译]Javascript timing事件

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  10. ios MVC笔记

    MVC:Model 模型 View 视图 Controller  控制器 关系图: