请求参数Map泛型的V为什么是数组_笔记(190430 06:16)

Written with StackEdit.

请求参数Map泛型的V为什么是数组

笔记(190430 06:16)

发送请求

我们发送了一个get请求
注意: 有两个pageNum参数
http://localhost:8881/api/study/java/frameList?pageNum=1&pageNum=22&pageSize=8

后台代码

@GetMapping(value="/frameList")  
public PageData list(HttpServletRequest req)throws Exception{    
  Map<String, String[]> map = req.getParameterMap();  
  for (Iterator<String> it = map.keySet().iterator(); it.hasNext(); ) {  
	  String next = it.next();  
	  System.out.println(Arrays.toString(map.get(next)));  
 }

控制台打印

[1, 22]
[8]

后台代码V2

@GetMapping(value="/frameList")  
public PageData list(HttpServletRequest req)throws Exception{   
	for(Enumeration<String> names= req.getParameterNames(); names.hasMoreElements();){  
	  String name = names.nextElement();  
	  System.out.println(name+"------"+req.getParameter(name));  
}

控制台打印V2

pageNum------1
pageSize------8

结论

url的参数允许相同的参数名, 用getParameterMap() 可以获取到重名的参数值,
但是用getParameter(name) 只能获取到第一个,
所以可以考虑使用getParameterValues() , 判断一下length

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值