java url參數 轉為 HashMap


Post 或 Get 的參數 

如:

&TalkDurAction=110&SrcTrunkName=&DstTrcunkName=&PinCode=&Status=ANSWERED&Type=Inbound 

 

用法

//HttpServletRequest request對象獲取Post參數
BufferedReader streamReader = new BufferedReader( new InputStreamReader(request.getInputStream(), "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = streamReader.readLine()) != null) {
    responseStrBuilder.append(inputStr);
    System.out.println("---------------------------------"+inputStr);
}
//獲取POST參數 map
System.out.println("doPost() POST參數 " + responseStrBuilder.toString());
String strPostParam=responseStrBuilder.toString(); //POST參數
HashMap<String,String> mapPostParam = getUrlParams(responseStrBuilder.toString());
//取值
String strId = mapPostParam .get("Id").toString();

 

感謝 

原文

    //將url參數轉換成map
    public static Map getUrlParams(String param) {
        Map map = new HashMap(0);
        if (StringUtils.isBlank(param)) {
            return map;
        }
        String[] params = param.split("&");
        for (int i = 0; i < params.length; i++) {
            String[] p = params[i].split("=");
            if (p.length == 2) {
                map.put(p[0], p[1]);
            }
        }
        return map;
    }

    //將map轉換成url
    public static String getUrlParamsByMap(Map map) {
        if (map == null) {
            return "";
        }
        StringBuffer sb = new StringBuffer();
        for (Map.Entry entry : map.entrySet()) {
            sb.append(entry.getKey() + "=" + entry.getValue());
            sb.append("&");
        }
        String s = sb.toString();
        if (s.endsWith("&")) {
            s = org.apache.commons.lang.StringUtils.substringBeforeLast(s, "&");
        }
        return s;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM