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; ...
随机推荐
- 读书笔记<深入理解JVM>01 关于OutOfMemoryError 堆空间的溢出
代码片段如下: package com.gosaint.shiro; import java.util.ArrayList; import java.util.List; public class H ...
- linux 中更改权限命令chown,chmod,chgrp
写在前面,关于chown,chmod的区别 chown用法 用来更改某个目录或文件的用户名和用户组的 chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径) 例1:chown root: ...
- 磨刀——python及相关工具
1.python语言包 1.1去https://www.python.org/,在download栏下载最新版python2或者python3 tips:1.点击下载会很慢,推荐:迅雷,百度云盘下载, ...
- 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+ ...
- 《Maven实战》笔记-8-构建部署Web项目
一.Web项目结构 1.显式指定Web项目打包方式为war: 2.默认目录 根据“约定大于配置”的规则,Web项目的类及资源文件默认位置为src/main/java和src/main/reso ...
- 日常学习随笔-自定义了一个MyArrayListDefin集合(数组扩容+迭代器+JDK1.8新方法+详细说明)
一.自定义了一个ArrayList的模拟集合(源码+详细说明) 前段时间分析了下ArrayList集合的源码,总觉得如果不自己定义一个的话,好像缺了点什么,所以有了如下的代码. 代码可以说是逐行注释了 ...
- 配置PL/SQL Developer连接Oracle数据库
准备: PL/SQL Developer:我用的是plsqldev1005(32位) win32_11gR2_client:记住一定是32位的,因为PL/SQL Developer只认32位的 安装成 ...
- Markdown语法简介 | Markdown Tutorial
Markdown是一种轻量级标记语言,允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的HTML文档. 与Word相比,使用Markdown最大的好处是可以使人们将注意力集中与文字本身而非排版 ...
- [译]Javascript timing事件
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- ios MVC笔记
MVC:Model 模型 View 视图 Controller 控制器 关系图: