java遍历request.getParameterMap()中的值
在开发过程中发现request对象有提供一个request.getParameterMap()方法可以获取到从前端请求发送的参数Map。
但是在使用get()方法通过key(键)去获取这个参数Map中对应的value(值)的时候,发现获取的是对象。
Map map = request.getParameterMap();
System.out.println(map.get("yanggb")); // [Ljava.lang.String;@4665fc21
通过打印出来的信息,很容易就发现该对象是一个字符串数组,因此我们就可以知道request.getParameterMap()方法返回的map中存储的值是数组。
我们通过一个循环来校验一下。
for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) {
Map.Entry element = (Map.Entry) iter.next();
Object strKey = element.getKey();
String[] strArr = (String[])element.getValue();
System.out.println(strKey);
for (String str : strArr) {
System.out.println(str); // yanggb
}
}
这个时候就发现能够正常打印出前端请求发送的参数值了。
然后我们将上面最开始的代码稍微改动一下。
Map map = request.getParameterMap();
String[] yanggbs = (String[])map.get("yanggb");
if (yanggbs.length > 0) {
System.out.println(yanggbs[0]); // yanggb
}
这样就能正常获取到前端请求发送的参数值了。
Map<String, String[]> mapparams = req.getParameterMap(); Set<String> keySet = mapparams.keySet(); // 遍历存放所有key的Set集合 Iterator<String> it = keySet.iterator(); while (it.hasNext()) { // 利用了Iterator迭代器** // 得到每一个key String key = it.next(); // 通过key获取对应的value String[] value = mapparams.get(key); System.out.println("key = " +key); for(int i=0; i< value.length; i++) { System.out.println(key + " = " + value[i]); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!