1
zj
2026-01-14 d147df97cffc18ac764719041b2a4dda8311921c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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;
    }
}