系列文章目录

文章目录

  • ​​系列文章目录​​
  • ​​接收请求参数​​
  • ​​控制器接收表单的第1种方式-方法直接声明参数名​​
  • ​​控制器接收表单的第2种方式-方法直接声明模型​​
  • ​​控制器接收表单的第3种方式-方法直接扩展对象​​
  • ​​接收集合类型的参数​​
  • ​​接收集合Map类型的参数​​
  • ​​总结​​

接收请求参数

封装参数分析

参数类型有:基本类型,int,String等等基本类型, Pojo类

Struts2参数:基于属性封装,在action会添加属性,提供set方法。

Springmvc参数封装:基于方法进行封装。

1、整一个注册的页面

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_02


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_03


点提交的时候我们让它访问这个

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_04

控制器接收表单的第1种方式-方法直接声明参数名

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_05


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_06


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_表单_07

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_08

控制器接收表单的第2种方式-方法直接声明模型

第二种方式更简单

直接声明一个模型,然后把那些东西放到模型里面去

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_09


提供get/set 和toString方法

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_表单_10


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_11


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_12


这样的好处就是 省去了我们做回显的操作

控制器接收表单的第3种方式-方法直接扩展对象

可以接收包装类型参数,就相当是模型里面有模型

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_13


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_14


注意这样写了之后jsp页面都要改,都得再加一个user.

如下图所示

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_表单_15


如果不加 就获取不到

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_表单_16


所以都要加上user.

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_17


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_18

接收集合类型的参数

怎么接收集合类型对的参数

如果传过来是一个集合怎么接收呢?

看个例子,如下:

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_19


如果我们要一次注册2个用户

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_表单_20


这就需要用到集合来接收了

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_21


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_22


注意 这里是 users 不是之前的 user了

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_表单_23


SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_表单_24


还可以接收map集合

接收集合Map类型的参数

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_25


如果这些数据不放到模型里面

也可以放到map里面

类似的操作

加上一个map集合

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_集合类型_26


一样的操作,就这三个地方

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_表单_27


注意这段代码,不要写错

SSM之SpringMVC_02_05_控制器接收表单的第3种方式-方法直接声明参数名、接收请求参数、接收集合类型的参数_封装_28


注意Map也是一种集合

总结

Struts2参数:基于属性封装,在action会添加属性,提供set方法。

Springmvc参数封装:基于方法进行封装。
第1种方式-方法直接声明参数名
第2种方式-方法直接声明模型
第3种方式-方法直接扩展对象