vit*_*vit 2 java jsp tomcat servlets
我正在尝试将请求转发到另一个包含哈希符号('#')的URL:
request.getRequestDispatcher("/some/path.jsp#somehash").forward(request, response);
Run Code Online (Sandbox Code Playgroud)
但是,Tomcat告诉我"请求的资源不可用".如果我从URL中删除哈希,一切正常.哈希是不允许的,还是我不对他们对待?
该#符号是一个浏览器的东西,而不是服务器的事情.当您#在浏览器中键入带有a的URL时,浏览器不会将该部分发送到服务器.它在没有它的情况下发送URL,然后在获取页面时跳转到命名锚点.
当您要求容器为您获取该URL时,它不会#对任何其他URL 进行任何不同的处理- 它没有特殊含义,因此它会查找一个名为的JSP页面/some/path.jsp#somehash,当然这个页面不存在.
你需要以某种方式在客户端保持跳转到锚点的逻辑.也许您可以在结果页面上放置一些javascript以滚动到文档中的那一点.
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |