我使用的是java语言,springboot分布式框架
目前我遇到的前台向后台传参主要为3种:(前后台交互的时候,一定要注意key的大小写)
1.后台直接以对象方式接收
2.后台以List<Map<String,Integer>>方式接收
3.后台以Map方式接收
1.后台以对象方式接收参数(这种方式前台每次只能传一个实例对象的参数。)
后台接收:
前台传参:
{
"segId": 2,
"beginH": 10,
"beginM": 10,
"endH": 12,
"endM": 12
}
注:前台可以传javaBean中所有的变量,也可以传部分变量。
2.后台以List<Map<String,Integer>>方式接收
后台接收方式:
前台传参:
[
{
"areaId": 3,
"termNo":70,
"timeSegId": 2
},
{
"areaId": 3,
"termNo":71,
"timeSegId": 6
}
]
后台接收到参数以后,通过遍历集合拿到每个值
如:
for (int i = 0;i<termSegInfoAdd.size();i++) {
Map<String, Integer> map = termSegInfoAdd.get(i);
//分区ID
if (!"".equals(map.get("areaId"))){
termSegInfoAdds.setAreaId(map.get("areaId"));
}
}
3.后台以Map方式接收
后台接收方式:
前台传参:(前台传递的参数中,Map中还包括一个“data”)
{
"Attrib1": 1,
"tegggg": "1D8O5C5B",
"data":[
{
"btn": "1",
"btnValue": 5
},
{
"btn": "2",
"btnValue": 10
},
]
}
注:
拿到key为“Attrib1”的值(想用什么类型接收,就强转为哪个类型)
System.out.println((int)addList.get("Attrib1"));
我需要拿到data中key为“btn”的值
//我的javabean为TermBtn
TermBtn termBtns = new TermBtn();
//首先先定义一个集合来接收“data”中的值
List lists = (List) addList.get("data");
//定义一个map来接收每一个lists
Map temp = new HashMap();
for (int i = 0;i<lists.size();i++) {
temp = (Map)lists.get(i);
if (!"".equals(temp.get("Btn"))){
//我的javaBean为TermBtn
termBtns.setBtn((String) temp.get("Btn"));
}
if (!"".equals(temp.get("BtnValue"))){
termBtns.setBtnValue((int)temp.get("BtnValue"));
}
//把数据传递到Service层进行数据处理
iTService.add(termBtns);
temp.clear();
}