URL参数设置

public class UrlUtils {

    /**
     * 给url参数赋值
     * 
     * @param url
* @param paramMap
* @return 赋好值的url
     */
public static String setUrlParamValue(String url, Map<String, Object> paramMap) {
        Map<String, Object> map = new LinkedHashMap<String, Object>();
        if (url.indexOf("?") > 0) {
            String[] tempArr = url.split("\\?");
            String uri = tempArr[0];
            String params = tempArr[1];
            if (params.indexOf("&") > 0) {
                String[] paramExpArr = params.split("&");
                for (String paramExp : paramExpArr) {
                    if (paramExp.indexOf("=") > 0) {
                        String[] param = paramExp.split("=");
                        map.put(param[0], param[1]);
                    }
                }
            } else {
                if (params.indexOf("=") > 0) {
                    String[] param = params.split("=");
                    map.put(param[0], param[1]);
                }
            }
            // 遍历map
for (Map.Entry<String, Object> entry : map.entrySet()) {
                for (Map.Entry<String, Object> paramEntry : paramMap.entrySet()) {
                    if (entry.getKey().equals(paramEntry.getKey())) {
                        map.put(entry.getKey(), paramEntry.getValue());
                    }
                }
            }
            // 再次拼接url
StringBuilder sb = new StringBuilder(uri + "?");
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                sb.append(entry.getKey());
                sb.append("=");
                sb.append(entry.getValue());
                sb.append("&");
            }
            sb = sb.deleteCharAt(sb.toString().lastIndexOf("&"));
            return sb.toString();
        }
        return url;
    }

    public static void main(String[] args) {
        String  url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx7afbb2e0173ef3d9&secret=5e1d7d992232ad85d26f960f59f6fd11&code=&grant_type=authorization_code";
        Map<String, Object> map = new LinkedHashMap<String, Object>();
        map.put("appid", "123");
        map.put("secret", "123");
        map.put("code", "code");
        map.put("grant_type", "authorization_code");
        UrlUtils.setUrlParamValue(url,map);
    }
}

猜你喜欢

转载自wangmengbk.iteye.com/blog/2357728