0

操作链接的参数之一如下所示:

itemUrl=feedLink.html#xtor=RSS-3208

当我在 processAction() 的后端执行下一个代码时:

String itemUrl = (String) request.getParameter("itemUrl");

,我得到下一个值:feedLink.html

例如,请求在 # 符号之后削减 itemUrl 值

.jsp 文件中的 escapeXml="true" 没有帮助。

4

2 回答 2

1

您必须对参数名称和值进行 URI 编码 - 您的链接应该是itemUrl=feedLink.html%23xtor=RSS-3208

于 2009-09-21T14:11:27.363 回答
1

URL 中 # 之后的任何内容都指定了浏览器应显示的页面位置;它不是 URL 本身的一部分。因此,如果您想在 URL 中添加一个实际的 #,则需要对其进行转义(如果解析器实际上是兼容的)。

理论上,您可以手动解析发送给您的整个 URL,但更好的解决方案是让页面的调用者首先向您发送正确的 URL(嗯,一个代表他们想要的 URL,因为有问题的一个本身是有效的)。

于 2009-09-21T15:21:45.060 回答