您好,请问在url的参数中加入#号后get不到完整的参数了,为什么?

比如这样一个url
http://localhost:8080/demo/hello.jsp?a=hello&b=ni#hao

这时在jsp页面上
String a = request.getParameter("a");
String b = request.getParameter("b");

a的值没问题,a="hello"
但是b的值为 b="ni", 后面的"#hao"都不见了,为什么呢?

如果我想获得完整的参数"ni#hao"应该怎样做呢?

因为我获得这个参数是要根据"#"为分界符号解析有用的。

谢谢!
String url = "http://localhost:8080/demo/hello.jsp?a=hello&b=ni\#hao ";
加了转义字符\后整个String就错了……

狐的传说
浏览 737回答 2
2回答

桃花长相依

#号后面的数据在URL里面是anchor,不算作request里面的内容的。如果要得到它,不能用parameter,要用request.getURL()函数,得到整个URL字符串,然后再把他截出来。但我很怀疑浏览器会不会把#号后面的东西发到服务器,因为那个是在浏览器利用做内容定位的。

智慧大石

#是特殊字符 需要用转意字符"\"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Python