Struts2重定向具有哈希的URL

时间:2013-04-12 10:11:08

标签: java facebook url redirect struts2

我目前正在我的应用程序中实现facebook登录,在用户成功授权他或她的帐户之后,它将返回到我的Web服务器中的动作类,并且就此而言。

这是一个例子

1)用facebook点击用户点击 2)他或她将被重定向到这个facebook授权页面 2)一旦他或她被授权,该页面将被重定向到struts2动作类。 所以网址看起来像这样

http://127.0.0.1:8080/MyApp-Facebook/oAuthExchange?code=SomeLongFacebookCodHere#_=_

如果您看到oAuthExchange的结尾URL有#_=_。 然后它将被重定向到我的应用程序的仪表板页面,页面网址将如下所示

http://127.0.0.1:8080/Struts2-Facebook/dashboard#_=_

如果您发现我的网址中有"#_=_"。无论如何,当我进行重定向时,我可以删除"#_=_"吗?

我也在使用Facebook4j用于facebook图谱API

1 个答案:

答案 0 :(得分:2)

您可以使用history.pushState()在符合HTML5的浏览器中直接从结果页面中删除它。

假设#_=_已修复(否则您需要执行动态substring indexOf寻找#), 把它放在你的页面中:

<script>
    //4 is the lenght of #_=_
    var cleanLocation = location.href.substring(0, location.href - 4); 
    history.pushState("","", cleanLocation);
</script>