在开发过程中发现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 }
这样就能正常获取到前端请求发送的参数值了。
"你是你自己人生的唯一负责人。"
原文地址:https://www.cnblogs.com/yanggb/p/11504566.html
时间: 2024-11-09 10:21:49