Java获取url中参数
# 方案
在 Java 中,你可以利用 URLEncoder
和 URLDecoder
来对 URL 字符串进行编解码,然后使用 String.split()
方法或者使用 正则表达式
来从 URL 字符串中获取参数。
# 代码示例
/**
* 获取url中的参数
*
* @param url 链接
* @param key 参数key
* @return 参数值
*/
public static String getParameterFromUrl(String url, String key) {
String[] params = url.split("\\?");
String[] queryParams = params[1].split("&");
String result = "";
for (String queryParam : queryParams) {
String[] param = queryParam.split("=");
// System.out.println("key: " + param[0] + " value: " + param[1]);
if (param[0].equals(key)) {
result = param[1];
break;
}
}
return result;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
注意:上面的参数值有 =
会有 bug,建议使用下面的:
/**
* 获取url中的参数
*
* @param url 链接
* @param key 参数key
* @return 参数值
*/
public static String getParameterFromUrl(String url, String key) {
HashMap<String, String> urlMap = new HashMap<String, String>();
String queryString = StringUtils.substringAfter(url, "?");
for (String param : queryString.split("&")) {
urlMap.put(StringUtils.substringBefore(param, "="), StringUtils.substringAfter(param, "="));
}
return urlMap.get(key);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
编辑 (opens new window)
上次更新: 2023/02/22, 13:47:25
- 01
- 解决css部分border被圆角切掉之后圆角的边框消失问题03-18
- 02
- 使用TypeScript开发一个自定义的Node-js前端开发脚手架03-08
- 03
- Github-Actions使用release-please实现自动发版03-06