Spring MVC 五种类型参数传递
创始人
2025-05-29 03:39:31

笔记来自哔哩哔哩里的Spring MVC教程,只记录关键点。

1.普通参数

2.POJO类型参数

3.嵌套POJO类型参数

4.数组类型参数

5.集合类型参数

一 普通参数
普通参数:url地址传参,地址参数名与形参变量名相同,定义形参即可接收参数。

如果形参与地址参数名不一致,则需增加 @RequestPaam 注解,如下:

@RequestMapping("/commonParamDifferentName")
@ResponseBody
public String commonParamDifferentName(@RequestPaam("name") String userName , int age){System.out.println("普通参数传递 userName ==> "+userName);System.out.println("普通参数传递 age ==> "+age);return "{'module':'common param different name'}";
}

 二、POJO数据类型

简单数据类型一般处理的是参数个数比较少的请求,如果参数比较多,那么后台接收参数的时候就比较复杂,这个时候我们可以考虑使用POJO数据类型。

POJO参数:请求参数名与形参对象属性名相同,定义POJO类型形参即可接收参数。

此时需要使用前面准备好的POJO类,先来看下User

public class User {private String name;private int age;
}

 后台接收参数: 

//POJO参数:请求参数与形参对象中的属性对应即可完成参数传递
@RequestMapping("/pojoParam")
@ResponseBody
public String pojoParam(User user){System.out.println("pojo参数传递 user ==> "+user);return "{'module':'pojo param'}";
}

三、嵌套POJO类型参数

如果POJO对象中嵌套了其他的POJO类,如:

public class Address {private String province;private String city;
}
public class User {private String name;private int age;private Address address;
}

 嵌套POJO参数:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数

 后台接收参数:  

//POJO参数:请求参数与形参对象中的属性对应即可完成参数传递
@RequestMapping("/pojoParam")
@ResponseBody
public String pojoParam(User user){System.out.println("pojo参数传递 user ==> "+user);return "{'module':'pojo param'}";
}

四、数组类型参数

举个简单的例子,如果前端需要获取用户的爱好,爱好绝大多数情况下都是多个,如何发送请求数据和接收数据呢?

数组参数:请求参数名与形参对象属性名相同且请求参数为多个,定义数组类型即可接收参数

发送请求和参数:

 后台接收参数:  

//数组参数:同名请求参数可以直接映射到对应名称的形参数组对象中
@RequestMapping("/arrayParam")
@ResponseBody
public String arrayParam(String[] likes){System.out.println("数组参数传递 likes ==> "+ Arrays.toString(likes));return "{'module':'array param'}";
}

五、集合类型参数

数组能接收多个值,那么集合是否也可以实现这个功能呢?

发送请求和参数:

 后台接收参数:  

//集合参数:同名请求参数可以使用@RequestParam注解映射到对应名称的集合对象中作为数据
@RequestMapping("/listParam")
@ResponseBody
public String listParam(@RequestParam List likes){System.out.println("集合参数传递 likes ==> "+ likes);return "{'module':'list param'}";
}

注意:这里使用到 @RequestParam 注解。

知识点1:@RequestParam

名称@RequestParam
类型形参注解
位置SpringMVC控制器方法形参定义前面
作用绑定请求参数与处理器方法形参间的关系
相关参数required:是否为必传参数 defaultValue:参数默认值

相关内容

热门资讯

福建平和:“世界柚乡”挂满“致... (来源:千龙网)新华社福州12月17日电 题:福建平和:“世界柚乡”挂满“致富金果”新华社记者吴剑锋...
于细微处见担当 在窗口处绽光彩 清晨的阳光透过玻璃窗,洒在办公桌码放整齐的文件上。马彦超翻开待处理工作的文件夹,指尖划过一行行文字,...
水墨乡村景如画 (来源:市场星报) 安徽省黄山市黟县宏村镇冬景如画,晨雾如轻纱般缭绕于白墙黛瓦的徽派民居之间,阳光穿...
从慈禧照片看晚清社会 慈禧与众人在颐和园乐寿堂前慈禧与外国公使夫人合影慈禧中海泛舟假扮观音十九世纪四十年代,西方出现了摄影...