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参数绑定(未完待续)的更多相关文章

  1. MVC丶 (未完待续······)

         希望你看了此小随 可以实现自己的MVC框架     也祝所有的程序员身体健康一切安好                                                     ...

  2. 阿里云服务器:IIS网站的架设(一、环境设置与安装IIS网站 二、网站的基本设置 三、建立新网站(未完待续))

    Windows Server 2012 R2的Internet Information Services (IIS)网站的模块化设计,可以减少被攻击面并减轻管理负担,让系统管理员更容易架设安全的具备高 ...

  3. Go web编程学习笔记——未完待续

    1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...

  4. javascript有用小功能总结(未完待续)

    1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javasc ...

  5. ASP.NET MVC 系列随笔汇总[未完待续……]

    ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...

  6. 关于DOM的一些总结(未完待续......)

    DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...

  7. 我的SQL总结---未完待续

    我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...

  8. 一篇文章让Oracle程序猿学会MySql【未完待续】

    一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...

  9. C++语言体系设计哲学的一些随想(未完待续)

    对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...

随机推荐

  1. flutter SnackBar

    无法弹出 snackbar时

  2. RTC, Real Time Clock

    配置 写入RTC_PRL, RTC_CNT, RTC_ALR寄存器时,需要先进入配置模式,通过把RTC_CRL寄存器的CNF位置一. 另外,在每次配置一个寄存器时必须等待上一次配置完成,可以通过检测R ...

  3. CodeForces 1166C A Tale of Two Lands

    题目链接:http://codeforces.com/problemset/problem/1166/C 题目大意 给定 n 个数,任选其中两个数 x,y,使得区间 [min(|x - y|, |x ...

  4. 3.4_springboot2.x整合spring Data Elasticsearch

    Spring Data Elasticsearch 是spring data对elasticsearch进行的封装. 这里有两种方式操作elasticsearch: 1.使用Elasticsearch ...

  5. JDBC_数据库连接池DRUID

    /** * @Description: TODO(这里用一句话描述这个类的作用) * @Author aikang * @Date 2019/8/26 20:12 */ /* 1.数据库连接池: 1. ...

  6. C++列表初始化是初始化本类自身含有的成员变量,不能直接初始化继承过来的成员变量

    在构造函数体内赋值就是对的了

  7. 从Hadoop+Storm架构转向Spark架构

  8. 7_API调用

    0 查看 kifastcallentry 里面具体怎么调用 首先是 切换了 fs 为kpcr的选择子 然后 构造了 一个trap frame(保存3环-->0环 切换的上下文:如果0环不使用就没 ...

  9. [JZOJ4331] 【清华集训模拟】树

    题目 题目大意 给你一棵带点权的树,求将树变成一堆不相交的链,而且这些链的权值和非负的方案数. 正解 显然这道题是个\(DP\). 首先求个前缀和\(sum\). 为了后面讲述方便,我这样设:\(f_ ...

  10. js结巴程序

    var str="我.....我是一个个......帅帅帅帅哥!"; var reg=/\./gi; str=str.replace(reg,""); reg= ...