ITPub博客

首页 > 数据库 > 数据库开发技术 > Java如何给指定URL字符串添加值?如何获取URL字符串中的参数值?

Java如何给指定URL字符串添加值?如何获取URL字符串中的参数值?

原创 数据库开发技术 作者:deaming317 时间:2020-04-20 08:30:00 0 删除 编辑
点击上方“程序员Style”,星标公众号
重磅干货,第一时间送达

每日干货

每日分享,获取相关面试资料,在“程序员Style”微信公众号后台回复文字“面试”即可!


在上篇文章中,小编整理了如何在前端页面中,对返回的url中的参数值进行接收,获取某个参数值的方法,考虑到有些朋友们(大神们除外)还不会在后端对指定的URL字符串添加值、获取URL字符串中的参数值,于是就后端如何添加及获取进行了整理,直接上代码:


在指定url后追加参数

/** * 在指定url后追加参数 * @param url * @param data 参数集合 key = value * @return */private static String appendUrl(String url, Map<String, Object> data) {    String newUrl = url;    StringBuffer param = new StringBuffer();    for (String key : data.keySet()) {        param.append(key + "=" + data.get(key).toString() + "&");    }    String paramStr = param.toString();    paramStr = paramStr.substring(0, paramStr.length() - 1);    if (newUrl.indexOf("?") >= 0) {        newUrl += "&" + paramStr;    } else {        newUrl += "?" + paramStr;    }    return newUrl;}

获取指定url中的某个参数

/** * 获取指定url中的某个参数 * @param url * @param name * @return */public static String getParamByUrl(String url, String name) {    url += "&";    String pattern = "(\\?|&){1}#{0,1}" + name + "=[a-zA-Z0-9]*(&{1})";    Pattern r = Pattern.compile(pattern);    Matcher m = r.matcher(url);    if (m.find( )) {        return m.group(0).split("=")[1].replace("&", "");    } else {        return null;    }}

测试类:

public static void main(String[] args) throws Exception {     // 追加参数    // Map<String, Object> param = new HashMap<>();     // param.put("id", 1);     // param.put("age", 20);     // System.out.println(appendUrl("http://test.com", param));     // System.out.println(appendUrl("http://test.com?name=a", param));     // String url = "http://test.com?name=abd&id=1&age=20";      // 获取参数    String url = "http://www.xxx.com/login?access_token=xxxx&id=yyyyy";     System.out.println(getParamByUrl(url, "id")); }
今天就分享这么多,关于Java如何给指定URL字符串添加值?如何获取URL字符串中的参数值?你学会了多少?如果觉得文章对你有一丢丢帮助,请点右下角【在看】,让更多人看到该文章。
感觉不错的话,麻烦动动小手关注一下小编啦


如有收获,点个【在看】

原文作者:程序员Style;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-03-04

  • 博文量
    119
  • 访问量
    52236