得到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; } |