请教高手,servlet中如何获取URL中的这种参数。 URL:http://www.test.com/aaa#abc我想在request中获取#后面的参数,但是无论是通过request.getQueryString,还是inputstream都无法获取,请教高手,应该怎么获取啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用request.getServletPath();这个方法试一试 用API获取参数的话#好像没法获取吧 你看试试获取到URL自己解析吧 #后面是锚点信息,通常是用来告知浏览器滚动到页面的某个位置的。getRequestURL能得到这个值么?手边没有工具测试不了 (request.getHeader("referer")).substring((request.getHeader("referer")).indexOf("#")+1,???) 直接用String indexOf得到#后面的字符串 这个需要自己去解析的 标准的只支持 ?(request.getHeader("referer")).substring((request.getHeader("referer")).indexOf("#")+1,???)这个试试 我要获取的是自己的URL中的#,不是referer。或者我修改一下问题,URL是http://localhost/aaa?a=1#123如何能获取到这个123。 你可以得到request.getParameter("a");这个就是"1#123",然后根据字符串解析好了啊.......... +1 你通过request.getParameter("a");得到字符串"1#123",然后通过得到的变量.substring(变量.indexOf("#")+1,变量.length()),就ok了。 你通过request.getParameter("a");得到字符串"1#123",然后通过得到的变量.substring(变量.indexOf("#")+1,变量.length()),就ok了。正解 +1 你通过request.getParameter("a");得到字符串"1#123",然后通过得到的变量.substring(变量.indexOf("#")+1,变量.length()),就ok了。正解 大哥们,你们是不是都测试过啊,我刚刚写了一个servlet,通过request.getparameter无法获取到#之后的东西。 request.getServletPath().split("#")[1] 大哥们啊,麻烦你们写个servlet测试一下,如果能获取到的话告诉我吧。谢谢了。 request应该获取不到,请求地址中为:http://www.test.com/aaa#abc#在浏览器地址中用于页面的内链接使用的,在servlet中,#后面的值拿不到System.out.println(request.getRequestURI());System.out.println(request.getRequestURL());System.out.println(request.getHeader("referer"));System.out.println(request.getServletPath());这些都拿不到 可以用 js 拿到这个值,这个请求换成ajax的方式来请求,用js获取请求的地址,然后再用 indexOf("#"),获取,如下:<script type="text/javascript"> alert(document.URL);</script>在servlet中这样获取PrintWriter out = resp.getWriter();out.println("<script type='text/javascript'>alert(document.URL);</script>");out.close(); String uri = request.getRequestURI();String path = uri.substring(uri.lastIndexOf("#")+1); servlet如果不能直接获取的话就算了。多谢了。 刚才测试了一下楼上的所有方法,确实取不到#后面的值,所以对这个仔细baidu了下,发现在url中"#"是个特殊字符,表示书签,那说明“而是某个开放平台将错误消息用#来传递”不对,人家传给你的是一个url和书签,而不是一个参数,所以楼主,你要从这里去思考,而不是非要在request里去取这个值,这样恐怕只能自寻烦恼,换个思路去解决你的问题吧。 #号是HTML页面定义中的锚点,不作为query string向服务器端传递 这样一个想法1、先用JS去获得该参数2、用Jquery 里的AJAX去推到后台Servlet 人人开放平台,返回的东西,为什么你要用servlet来接收?很奇怪你的需求,是不是这里就有问题?.......... 人人的前台API,直接浏览器跳转 该死的IE,拿它怎么办额。。。 struts2标签中的textfield怎么在输入框后边加文字? 寻求部署过润乾报表的前辈们 頁面上DIV 的拖拉操作,大小變更,請不吝賜教 谁用过jsp版的FCKeditor ? 用installanywhere打包jsp的 问题 关于struts2 复选框的问题。谢谢! 放100分,征求一下意见! 论坛问题!!!!!!! 一个简单的问题,大家看看,在线等待! jsp错误原因??? wiki 如何用关系数据库实现版本控制
getRequestURL能得到这个值么?
手边没有工具测试不了
(request.getHeader("referer")).substring((request.getHeader("referer")).indexOf("#")+1,???)
(request.getHeader("referer")).substring((request.getHeader("referer")).indexOf("#")+1,???)
这个试试
我要获取的是自己的URL中的#,不是referer。或者我修改一下问题,URL是http://localhost/aaa?a=1#123
如何能获取到这个123。
谢谢了。
http://www.test.com/aaa#abc
#在浏览器地址中用于页面的内链接使用的,在servlet中,#后面的值拿不到
System.out.println(request.getRequestURI());
System.out.println(request.getRequestURL());
System.out.println(request.getHeader("referer"));
System.out.println(request.getServletPath());
这些都拿不到
alert(document.URL);
</script>在servlet中这样获取PrintWriter out = resp.getWriter();
out.println("<script type='text/javascript'>alert(document.URL);</script>");
out.close();
String path = uri.substring(uri.lastIndexOf("#")+1);
servlet如果不能直接获取的话就算了。
多谢了。
1、先用JS去获得该参数
2、用Jquery 里的AJAX去推到后台Servlet
人人开放平台,返回的东西,为什么你要用servlet来接收?很奇怪你的需求,是不是这里就有问题?..........
人人的前台API,直接浏览器跳转