url=http://www.test.com/redirect.php?tid=71966&goto=lastpost#lastpost   document.myform.action="UserfulEventServlet?method=addother&title="+encodeURI(title)+"&url="+encodeURI(url)+"";
   document.myform.submit();url中有tid=71966&goto
我在servlet中接收时
String url =request.getParameter(url)
后还想得到http://www.test.com/redirect.php?tid=71966&goto=lastpost#lastpost
请问怎么办啊???

解决方案 »

  1.   

    这个就要去编码才行哦。因为这些都是特殊字符,
    你使用这个吧!
    <a href="test2.jsp?test=<%=java.net.URLEncoder.encode(str)%>">传参</a>str:就是你的参数。
      

  2.   

    你字符串都拿到了,那URL,截取就行了
      

  3.   

    sorry
    忘记了 ,你取到参数后还需要解码
    String test=new String(request.getParameter("test").getBytes("iso-8859-1"),"gb2312");
      

  4.   

    有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。 
    如果不使用转义字符,这些编码就会当URL中定义的特殊字符处理。 
    下表中列出了一些URL特殊符号及编码 十六进制值 
    1.+ URL 中+号表示空格 %2B 2.空格 URL中的空格可以用+号或者编码 %20 3./ 分隔目录和子目录 %2F 4.? 分隔实际的 URL 和参数 %3F 5.% 指定特殊字符 %25 6.# 表示书签 %23 7.& URL 中指定的参数间的分隔符 %26 8.= URL 中指定参数的值 %3D 
      

  5.   

     楼主是要得到完整的请求路径么? ..  没看太明白 如果是的话可以这样 String url = request.getRequestURL().toString() + "?" + request.getQueryString();
     
      

  6.   

    既然是 sumbit 为什么不把url 参数放到 一个隐藏域 里面 提交过去后 用reques.getParemeter("name")获取就完了三