我是靠谱客的博主 复杂魔镜,这篇文章主要介绍springmvc如何使用map接收参数,现在分享给大家,希望可以做个参考。

springmvc 使用map接收参数

开发过程中有时候我们并不知道前端都会传递哪些参数给到后端. 为方便扩展接口功能, 在请求参数不改变的情况下兼容前端新增的入参的需求, 我们会考虑使用map接受参数. 这样无论前端加减参数, controller的入参是不需要变动的.

第一种情况:请求参数有多组

如:一组个人信息, 一组地址信息

请求参数:

复制代码
1
2
3
4
5
6
7
8
9
10
11
{ "personInfo": { "name1": "zona", "name2": "carl", "age": 23 }, "address": { "上海": "code1", "北京": "code2" } }

controller层代码:

复制代码
1
2
3
4
5
// map的value参数类型设置为object @PostMapping("/map") public void map(@RequestBody Map<String, Object> mapParam){ System.out.println(mapParam); }

controller层接受参数:

第二种情况:所有的参数不分组

请求参数:

复制代码
1
2
3
4
5
{ "name1": "zona", "name2": "carl", "age": 23 }

controller层代码

复制代码
1
2
3
4
5
// map的value类型是String @PostMapping("/map") public void map(@RequestBody Map<String, String> mapParam){ System.out.println(mapParam); }

controller层接受参数

用map接收参数的几个注意的问题

复制代码
1
2
public void TbConOrdPriceSubmit(@RequestParam(value="cdListKeyArrayFront",required=false) String[] cdListKeyArrayFront,@RequestParam(required=false) Map parMap, HttpSession session, HttpServletRequest request, HttpServletResponse response, Model model, TbConOrdVo tbConOrdVo)

1、接受map的参数不能写value

否则不能自动打包前面的字段,其与模型驱动,属性驱动不冲突,最多就是数据冗余

2、对于多个同名字段

map只会取第一个,不会变成字符数组,或用,隔开,此时只能用属性驱动,或模型驱动

以上为个人经验,希望能给大家一个参考,也希望大家多多支持靠谱客。

最后

以上就是复杂魔镜最近收集整理的关于springmvc如何使用map接收参数的全部内容,更多相关springmvc如何使用map接收参数内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部