1、对request.getParameterMap()的返回值使用泛型时应该是Map<String,String[]>形式,因为有时像checkbox这样的组件会有一个name对应对个value的时候,所以该Map中键值对是<String-->String[]>的实现。
举例,在服务器端得到jsp页面提交的参数很容易,但通过request.getParameterMap()可以将request中的参数和值变成一个Map。
以下是将得到的参数和值打印出来,形成的map结构:Map(key,value[]),即:key是String型,value是String型数组。
例如:request中的参数t1=1&t1=2&t2=3形成的map结构:
key=t1;value[0]=1,value[1]=2
key=t2;value[0]=3
如果直接用map.get("t1"),得到的将是:Ljava.lang.String; value只所以是数组形式,就是防止参数名有相同的情况。
2、在正常的web系统中,是先获取到这个map然后再做一些转换,就能把参数都取出来了。
例如:直接上代码了!!
Map<String, String> map = new HashMap<String, String>();
if (request == null) {
return null;
}
Map<String, String[]> tmpMap = request.getParameterMap();
for (String key : tmpMap.keySet()) {
map.put(key, tmpMap.get(key)[0]);
}
return map;