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<String, ?> sourceMap) {
|
//log.info("sortData sourceMap:" + sourceMap);
|
String returnStr = sortData(sourceMap, "&");
|
//log.info("sortData returnStr:" + returnStr);
|
return returnStr;
|
}
|
|
public static String sortData(Map<String, ?> sourceMap, String link) {
|
//log.info("start sortData method()");
|
if (StringUtils.isEmpty(link)) {
|
link = "&";
|
}
|
Map<String, Object> sortedMap = new TreeMap<String, Object>();
|
sortedMap.putAll(sourceMap);
|
Set<Entry<String, Object>> entrySet = sortedMap.entrySet();
|
StringBuffer sbf = new StringBuffer();
|
for (Entry<String, Object> 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<String, String> 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<String, String> convertRequestParamsToMap(HttpServletRequest request) {
|
Map<String, String> retMap = new HashMap<String, String>();
|
|
Set<Map.Entry<String, String[]>> entrySet = request.getParameterMap().entrySet();
|
|
for (Map.Entry<String, String[]> 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;
|
}
|
}
|