如何从网址中读取参数包含'#'而不是'?'

时间:2012-12-26 09:57:03

标签: java jsp url

如何从此网址读取访问令牌?当我尝试通过request.getParameter()方法读取它时,它返回空值

http://localhost:8080/FirstPick/views/common/home.faces#access_token=xxxxxxxxxx&expires_in=4015

3 个答案:

答案 0 :(得分:2)

你不能像这样从查询字符串中读取任何参数。 它必须包含'?'。 只有'?'后出现的字符串被称为'QueryString'。 从'QueryString'你可以得到价值。 而你在这里提到的网址,是不是包含'?'所以它没有'QueryString'。 你不能使用request.getParameter()方法。

答案 1 :(得分:2)

除此之外,

哈希(#)之后的内容仅用于客户端。如果您需要服务器上的信息,您可以使用带有'?'的查询字符串的不同分隔符,或者您可以在页面加载后通过Ajax在客户端上使用JavaScript读取它来提交它。

哈希(#)之后的URI部分永远不会发送到服务器,原因是哈希标识符最初设计为指向给定网页中的引用而不是服务器上的新资源。

由于

答案 2 :(得分:0)

在客户端(即从JavaScript),您可以检查window.location.hash以获取哈希值。在服务器端,一般答案是'不可能',因为哈希不会在请求中发送到服务器。