在java web项目中虽然可以通过request.getParameterMap()很轻松的获得参数Map,但得到的Map和普通Map是不一样的,是被锁定的,不能像操作常规Map那样进行put、get等操作,该方法将得到参数Map返回为可操作的普通Map
1 /** 2 * 从request中获得参数Map,并返回可读的Map 3 * 4 * @param request 5 * @return 6 */ 7 @SuppressWarnings("unchecked") 8 public static Map getParameterMap(HttpServletRequest request) { 9 // 参数Map 10 Map properties = request.getParameterMap(); 11 // 返回值Map 12 Map returnMap = new HashMap(); 13 Iterator entries = properties.entrySet().iterator(); 14 Map.Entry entry; 15 String name = ""; 16 String value = ""; 17 while (entries.hasNext()) { 18 entry = (Map.Entry) entries.next(); 19 name = (String) entry.getKey(); 20 Object valueObj = entry.getValue(); 21 if(null == valueObj){ 22 value = ""; 23 }else if(valueObj instanceof String[]){ 24 String[] values = (String[])valueObj; 25 for(int i=0;i<values.length;i++){ 26 value = values[i] + ","; 27 } 28 value = value.substring(0, value.length()-1); 29 }else{ 30 value = valueObj.toString(); 31 } 32 returnMap.put(name, value); 33 } 34 return returnMap; 35 }
时间: 2024-12-19 10:22:34