我正在尝试获取具有字符#
的请求字符串,并且我的参数仅在#
之前得到。但问题是我需要有这个角色,不能删除它。
有什么想法吗?
答案 0 :(得分:5)
Encode#如果必须在那里。文字#表示fragment id,不能在URI中用于任何其他目的。 w3schools有encoding tables所以你也可以自己查找这些数据。
答案 1 :(得分:1)
您需要正确编码参数值。
如果URL是由JSP生成的,请确保使用JSTL c:url
标记:
<c:url value="/path/to/myServlet">
<c:param name="param1" value="#paramValue"/>
</c:url>
如果您使用的是直接Java,请使用URLEncoder.encode()
。
如果网址是静态的,请使用%23paramValue
代替#paramValue