将目标附加到网址

时间:2014-11-30 10:13:27

标签: java html

我没有带链接的物理页面,而是使用java.net.URL从后端触发链接的应用程序。我想知道如何将target=_top附加到网址上?我觉得我已经尝试了一切,但都失败了。有人可以帮助我。或许可以在java.net.URL too中设置它。

https://graph.facebook.com/oauth/authorize?client_id=111111111&redirect_uri=https://local.example.com:8443/test/facebook/oauth/blank/https:$002f$002flocal.example.com:8443$002ftest$002fsignin/target=_top

是我尝试过没有成功的案例之一。

我也尝试过以下所有内容。

:target=_top
/target=_top
&target=_top

:target="_top"
/target="_top"
&target="_top"

我面临的问题Simple FB inquiry: FB login screen in a canvas app?

一些代码

尝试1

StringBuilder sb = new StringBuilder();
        sb.append("https://graph.facebook.com/oauth/authorize?client_id=");
        sb.append(getOauthClientId());
        sb.append("&target=_top");
        sb.append("&redirect_uri=");
        sb.append(getOauthRedirectLink());        
        sb.append("&scope=");
        sb.append(facebookPermissions);
        System.out.println(sb.toString());
        return new URL(sb.toString());

尝试2

StringBuilder sb = new StringBuilder();
        sb.append("https://graph.facebook.com/oauth/authorize?client_id=");
        sb.append(getOauthClientId());        
        sb.append("&redirect_uri=");
        sb.append(getOauthRedirectLink());        
        sb.append("&scope=");
        sb.append(facebookPermissions);
        sb.append("&target=_top");
        System.out.println(sb.toString());
        return new URL(sb.toString()); 

我的目标是从后端触发此链接,而不是使用javascript来触发链接。

2 个答案:

答案 0 :(得分:0)

简单方法:

URI.create(sb.toStrgin()).toURL();

正确的方式:

答案 1 :(得分:0)

java.net.URL提供constructor,其中您可以String添加URL

试试这个:

URL fbook = new URL("https://graph.facebook.com/oauth/");

StringBuilder sb = new StringBuilder();
sb.append("authorize?client_id=");
sb.append(getOauthClientId());  
sb.append("&redirect_uri=");
sb.append(getOauthRedirectLink());        
sb.append("&scope=");
sb.append(facebookPermissions);
sb.append("&target=_top");
URL n = new URL(fbook,sb.toString());