6.SpringMVC2
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的更多相关文章
- springmvc2 一个控制器写多个方法(非注解方式)
出处:http://blog.csdn.net/xuewenke/article/details/23895999 springmvc2 一个控制器写多个方法(非注解方式) 分类: spring 20 ...
- springMVC2 1入门程序
1入门程序 .1需求 实现商品列表查询 .2需要的jar包 使用spring3.2.0(带springwebmvc模块) .1前端控制器 在web.xml中配置: <?xml version=& ...
- 老帖收藏,留供参考:SpringMvc2.5+Mybatis3.2.7
一.项目背景 SpringMvc+Mybatis 数据库连接池是阿里巴巴的druid.日志框架式logback 二.配置文件 1.SpringMvc-servlet.xml <?xml vers ...
- springMVC2
一.视图解析流程 springMVC中视图解析器 1.视图最终的页面渲染.view视图来做,render 2.跳转到目标视图,请求转发. 3.遍历视图解析器,逻辑视图转换为物理视图. 1)视图 视图的 ...
- 项目记事【SpringMVC-2】:将后台的对象,转成JSON报文
Spring版本:3.2.7 Jackson版本: <!--Jackson --> <dependency> <groupId>com.fasterxml.jack ...
- 【Java EE 学习 83 下】【SpringMVC】【使用注解替代已过时的API】【SpringMVC、Hibernate整合】
一.SpringMVC中注解的使用 1.为什么要使用注解 之前曾经提到过的三种控制器在spring3.0中都已经被明确标记为过时了,spring3.0推荐使用注解的方式替代三种控制器,实际上使用注解的 ...
- 学习笔记_springmvc返回值、数据写到页面、表单提交、ajax、重定向
数据写到页面 后台往前台传数据 TestController添加 /** * 方法的返回值采用ModelAndView, new ModelAndView("index", map ...
- Spring MVC配置
web配置 <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="ht ...
- spring mvc实现查询
实体类:User package cn.bdqn.pojo; public class User { private String userName; private String password; ...
随机推荐
- php学习笔记-默认参数
在定义函数的时候,我们可以把其中的一个参数变的特殊起来,使它有一个默认值,这个参数就叫默认参数.在调用这个函数的时候,你既可以给这个默认参数传递一个值,这样的话默认参数的值会被覆盖掉,也可以不给它传递 ...
- 1、awk打开多个文件的方法
转载:http://www.cnblogs.com/Berryxiong/p/6209324.html 1.当awk读取的文件只有两个的时候,比较常用的有三种方法(1)awk 'NR==FNR{... ...
- Spark的序列化
spark的序列化主要使用了hadoop的writable和java的Serializable. 说到底就是使用hadoop的writable替换了java的默认序列化实现方式. class Seri ...
- input 输入框两种改变事件的方式
一.在输入框内容变化的时候不会触发,当鼠标在其他地方点一下才会触发 $('input[name=myInput]').change(function() { ... }); 二.在输入框内容变化的时候 ...
- 数据结构_成绩查询_cjcx
问题描述 录入 n 个学生的成绩,并查询.★数据输入第一行输入包括 n. m(1<=n<=50,000,1<=m<=100,000)两个数字.接下来 n 行,每行包含名字和成绩 ...
- 转换流 Properties集合 序列化 工具
今日内容介绍1.转换流2.缓冲流3.Properties集合4.序列化流与反序列化流5.commons-IO============================================== ...
- 无需知道类名,就可以启动apk
查看官方文档,发现这样一个方法: public abstract Intent getLaunchIntentForPackage (String packageName) 这个方法名就说明:根据包名 ...
- 2016年第七届蓝桥杯省赛试题(JavaA组)
1.结果填空 (满分3分)2.结果填空 (满分5分)3.结果填空 (满分9分)4.代码填空 (满分11分)5.代码填空 (满分13分)6.结果填空 (满分15分)7.结果填空 (满分19分)8.程序设 ...
- Java50道经典习题-程序47 输入数字打印星号
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*. import java.util.Scanner; public class Prog47{ public static ...
- Windows下启动redis错误1067:进程意外中止
已解决: 在redis-64.3.0.503文件夹下新建一个空文件夹,命名为logs,如下图所示: 最后成功了 开启服务:redis-server --service-start