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. 使用Java创建JSON数据

    --------------siwuxie095                             工程名:TestCreateJSON 包名:com.siwuxie095.json 类名:Cr ...

  2. jmeter CSV Data数据中带有逗号解决方法

    今天用jmeter做性能测试,由于参数的数据中含有逗号,一直失败,尝试了几次终于成功,先写下经验 首先看设置 E:\apache-jmeter-2.12\bin\litaojunzb.csv文件格式如 ...

  3. cmake 编译安装方法

    cmake版本3.7.2 1.根目录下./bootstrap 2.make 3.sudo make install

  4. 1027C Minimum Value Rectangle

    传送门 题目大意 有n个木棍,让你选4根使得组成的矩形的周长的平方除以面积最小. 分析 这个题看起来就是一个需要证明的贪心,下面我们来证明一下: 所以我们只需要枚举一边所有的a的可能值,然后b就是比a ...

  5. Advanced WordCount

    Github:https://github.com/Hoyifei/SQ-T-Homework-WordCount-Advanced (注:Github上的所有代码由我代为提交) PSP:(注:部分实 ...

  6. 选择设置好ext3日志模式

    Linux是一种开放的.因Internet而产生的操作系统.Internet的发展.以网络为中心的计算模式如电子商务被迅速接受和普及,都为 Linux提供了更巨大的机会,使之成为企业和部门级的首选平台 ...

  7. 自己封装一个MySignal函数,方便以后直接copy.

    传统的signal可能会有信号未决或者信号重入或多或少的问题,毕竟这个函数已经很多年了. 所以推荐使用sigaction函数,但是sigaction函数相对signal较为复杂,而且每次要写一大堆.因 ...

  8. 论道HTML5 PDF扫描版

    论道HTML5先简要介绍了如何用HTML5和CSS3制作网站,然后全面介绍了API和Canvas2D,接着介绍了如何在手机浏览器上开发HTML5相关的应用.WebSocketAPI相关的三个案例和时下 ...

  9. 说“DPI”

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.03.08更新:2007.04.02 目录一.基本概念二.图像文件中的DPI三.PDG文件中的DPI四.PDF文件中 ...

  10. 文本PDG文件名构成

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2008.08.03 文本PDG的构成规则为:<前缀><起始页号>_<页数>.pdg 前缀 ...