得到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<values.length;i++){ value = values[i] + ","; } value = value.substring(0, value.length()-1); }else{ value = valueObj.toString(); } returnMap.put(name, value); } return returnMap; } |
时间: 2024-10-26 18:05:06