SpringMVC参数绑定(未完待续)
1. Strut2与SpringMVC接收请求参数的区别
Struts2通过action类的成员变量接收
SpringMVC通过controller方法的形参接收
2. SpringMVC参数绑定流程
前端控制器 -> 处理器适配器 -> 参数绑定组件(将key/value转化为方法形参) -> 执行Controller方法
拓展: SpringMVC的两种参数绑定组件:
早期版本 PropertyEditor 字符串->java对象
现版本 Converter 根据不同种类的Converter, 实现任意类型转化, 支持自定义Converter
3. 不同类型的参数绑定
1) 默认支持类型
request
response
session
model接口/modelmap实现 -> 本质还是将model中的数据填充到request域中

2) 简单类型
Integer // 包装类型和基本类型都可以被获取
double
float
String
boolean

注意: 这里分成两种情况:
如果不使用@RequestParam, 则要求request参数名称与controller方法形参名称一致
如果使用@RequestParam, 则request参数名称与controller方法形参名称允许不一致

拓展: @RequestParam的三个作用
1. 绑定请求参数名称
2. 使用required=true属性, 要求参数必须传入
3. 使用defaultValue属性, 设置参数默认值

2) POJO
条件: 请求参数名称与controller形参中的属性名称一致时
注意:
1) 形参方法有个name, POJO内部也有个name时, 两者都会绑定成功
2) 如果POJO中存在Date类型属性, 需要向适配器注入自定义参数绑定组件
附: 如何配置日期参数转换器请参考这篇文章 https://www.cnblogs.com/shaohsiung/p/9554895.html

3) 包装类型POJO
使用ONGL表达式,使用属性点的方式访问

SpringMVC参数绑定(未完待续)的更多相关文章
- MVC丶 (未完待续······)
希望你看了此小随 可以实现自己的MVC框架 也祝所有的程序员身体健康一切安好 ...
- 阿里云服务器:IIS网站的架设(一、环境设置与安装IIS网站 二、网站的基本设置 三、建立新网站(未完待续))
Windows Server 2012 R2的Internet Information Services (IIS)网站的模块化设计,可以减少被攻击面并减轻管理负担,让系统管理员更容易架设安全的具备高 ...
- Go web编程学习笔记——未完待续
1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...
- javascript有用小功能总结(未完待续)
1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javasc ...
- ASP.NET MVC 系列随笔汇总[未完待续……]
ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...
- 关于DOM的一些总结(未完待续......)
DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...
- 我的SQL总结---未完待续
我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...
- 一篇文章让Oracle程序猿学会MySql【未完待续】
一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...
- C++语言体系设计哲学的一些随想(未完待续)
对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...
随机推荐
- Java io简单总结
IO 字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的 字符流在操作时使用了缓冲区,通过缓冲区再操作文件 缓冲:一段特殊的内存.如果一个程序频繁地操作一个资源(如文件或数据库),则性能会 ...
- npm ERR! missing script: dev 解决方案
运行命令npm run dev 出现 npm ERR! missing script: dev 的错误 这是因为vue 版本问题,使用 npm run serve 来运行项目
- JVM内核-原理、诊断与优化学习笔记(十):Class文件结构
文章目录 语言无关性 文件结构 魔数 版本 常量池 CONSTANT_Utf8 CONSTANT_Integer CONSTANT_String CONSTANT_NameAndType CONSTA ...
- RoadFlow2.7.5 MyController.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- webAPI(DOM) 2.1 获取页面元素 | 事件1 | 属性操作 | 节点 | 创建元素 | 事件2
js分三个部分: ECMAScript标准:js的基本语法 DOM:Ducument Object Model--->文档对象模型--->操作页面的元素 BOM:Browser Objec ...
- 如何优雅的使用Objects.requireNonNull(T obj, String message)定制你的NPE异常
IDEA中习惯跟踪源码实现逻辑,多次碰到Objects.requireNonNull(T obj)这个方法,改方法主要用于提早判断对象是否为空,以便更早的抛出NPE 平时小组开发中强调程序健壮性,不允 ...
- jq页面换肤效果
<!DOCTYPE html> <html lang="en"> <head> <script src="http://code ...
- USACO 2009 Open Cow Line /// 队列 oj26220
题目大意: 输入n,n次操作 操作A:在L(左边)或R(右边)插入一个递增的数 操作D:在L(左边)或R(右边)删除m个数 Sample Input 10A LA LA RA LD R 2A RA R ...
- 使用idea从svn检出项目
1.创建空的工程 2. 3. 编辑项目进行提交svn服务器进行自动整合
- IOS配置cocos2d-x
cd /Users/wyc/Desktop/cocos2d-x-3.16/tools/cocos2d-console/bin python cocos.py new HelloWorldDemo -p ...