您的位置:首页 > Web前端 > JavaScript

【已解决】URL里有#号,传参到Servlet时,url编辑器会自动删掉#号之后的所有字符串问题

2015-04-20 16:48 323 查看

以下为解决问题的步骤:

1.jsp页面如果是<a>标签,那么弃用href属性,改为onclick属性 (p.s 我的jsp页面的编码格式为UTF-8)

<a href="#" onclick="downloadAttach('<%=basePath%>/servlet/AttachmentDownServletUp.cgi?',

   'path=<s:property value="path"/>&filename=<s:property value="name"/>')">

   访问的URL

</a>
2.js方法里使用encodeURIComponent,这样url编译器不会把#后面的字符串去掉了
function downloadAttach(path,param) {

    window.location.href = path + encodeURIComponent(param);

}
3.java代码中用一下方法获取参数
String params = URLDecoder.decode(request.getQueryString(), "UTF-8");

if(params!=null && !"".equals(params)) {

    relativePath = params.substring(params.indexOf("path="), params.indexOf("&")).replace("path=", "");

    name = params.substring(params.indexOf("filename=")).replace("filename=", "");

}

问题解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  url servlet #号 井号 jsp
相关文章推荐