package com.nq.utils; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; import org.apache.commons.lang.StringUtils; import javax.servlet.http.HttpServletRequest; public class SignUtil { public static String sortData(Map sourceMap) { //log.info("sortData sourceMap:" + sourceMap); String returnStr = sortData(sourceMap, "&"); //log.info("sortData returnStr:" + returnStr); return returnStr; } public static String sortData(Map sourceMap, String link) { //log.info("start sortData method()"); if (StringUtils.isEmpty(link)) { link = "&"; } Map sortedMap = new TreeMap(); sortedMap.putAll(sourceMap); Set> entrySet = sortedMap.entrySet(); StringBuffer sbf = new StringBuffer(); for (Entry entry : entrySet) { if (null != entry.getValue() && StringUtils.isNotEmpty(entry.getValue().toString())) { sbf.append(entry.getKey()).append("=").append(entry.getValue()).append(link); } } String returnStr = sbf.toString(); if (returnStr.endsWith(link)) { returnStr = returnStr.substring(0, returnStr.length() - 1); } return returnStr; } /** * 灏嗚姹傚瓧绗︿覆瑙f瀽涓篗ap * @param strParams 璇锋眰瀛楃涓� key1=value1&key2=value2....&keyN=valueN * @return */ public static Map parseParams(String strParams) { Map map = new HashMap(); if (!strParams.equals("")) { String[] list = strParams.split("&"); for (int i = 0; i < list.length; i++) { String tmp = list[i]; map.put(tmp.substring(0, tmp.indexOf("=")), tmp.substring(tmp.indexOf("=") + 1)); } } return map; } public static Map convertRequestParamsToMap(HttpServletRequest request) { Map retMap = new HashMap(); Set> entrySet = request.getParameterMap().entrySet(); for (Map.Entry entry : entrySet) { String name = entry.getKey(); String[] values = entry.getValue(); int valLen = values.length; if (valLen == 1) { retMap.put(name, values[0]); } else if (valLen > 1) { StringBuilder sb = new StringBuilder(); for (String val : values) { sb.append(",").append(val); } retMap.put(name, sb.toString().substring(1)); } else { retMap.put(name, ""); } } return retMap; } }