一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

java中request.getParameterMap的返回值Map例子

时间:2013-12-02 编辑:简简单单 来源:一聚教程网

得到jsp页面提交的参数很容易,但通过它可以将request中的参数和值变成一个map,以下是将得到的参数和值打印出来,形成的map结构:map(key,value[]),即:key是String型,value是String型数组。
例如:
表单请求中包含多选框checkbox或者请求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只所以是数组形式,就是防止参数名有相同的情况。

 代码如下 复制代码

/**
 * 从request中获得参数Map,并返回可读的Map
 *
 * @param request
 * @return
 */
@SuppressWarnings("unchecked")
public static Map getParameterMap(HttpServletRequest request) {
 // 参数Map
 Map properties = request.getParameterMap();
 // 返回值Map
 Map returnMap = new HashMap();
 Iterator entries = properties.entrySet().iterator();
 Map.Entry entry;
 String name = "";
 String value = "";
 while (entries.hasNext()) {
  entry = (Map.Entry) entries.next();
  name = (String) entry.getKey();
  Object valueObj = entry.getValue();
  if(null == valueObj){
   value = "";
  }else if(valueObj instanceof String[]){
   String[] values = (String[])valueObj;
   for(int i=0;i     value = values[i] + ",";
   }
   value = value.substring(0, value.length()-1);
  }else{
   value = valueObj.toString();
  }
  returnMap.put(name, value);
 }
 return returnMap;
}

热门栏目