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

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.