我有喜欢的网址http://example.com/foo/?locale=en_US&xyz,当我在URL上做一个getQueryString()我回来一个空字符串getQueryString返回空字符串时queryParameter没有价值
我做“request.getQueryString()”的URL
我有喜欢的网址http://example.com/foo/?locale=en_US&xyz,当我在URL上做一个getQueryString()我回来一个空字符串getQueryString返回空字符串时queryParameter没有价值
我做“request.getQueryString()”的URL
getQuery()
作品对我来说:
String str = "http://example.com/foo/?locale=en_US&xyz";
URL url = new URL(str);
System.out.println(url.getQuery());
输出:locale=en_US&xyz
感谢您的回答,但这不适合我。 – mskm
很奇怪......你得到了什么输出?你有哪个Java版本? – 2017-10-04 18:09:54
Doc说:
返回:包含查询字符串的字符串;如果URL 不包含查询字符串,则返回null。该值不被容器解码。
该值未被容器解码。
String queryString = URLDecoder.decode(request.getQueryString(), "UTF-8");
这将使getQueryString()工作。
推荐获得PARAMS使用getParameter()
缺少完整的代码 – GGO
可能你(的形式等)做一个POST或者URL编码整个URL所以'?'其实'%3F'(有时显示的网址在某些浏览器中解码)。 –