使用 Vaadin 7 打开带有自定义 header 的外部网站
Open external Website with a custom header using Vaadin 7
我是 Vaadin7 的新手,需要一些帮助。我正在开发一个非常简单的应用程序,其中放置了几个按钮或重定向 link。当单击按钮或 link 时,一个新的 window 打开和外部网站出现在那个 window 中。我这样做 :
Button button = new Button("Window", new Button.ClickListener() {
@Override
public void buttonClick(Button.ClickEvent event) {
getUI().getPage().open("http://www.myotherapplication.com", "_blank");
}
});
它很简单,而且运行良好。我的问题是:如何向请求中添加一些 HTTP Headers?我需要传输一些基本信息,例如用户名、令牌等。有人可以帮我吗?有什么解决办法吗?谢谢!
您不能让浏览器在重定向浏览器时为页面添加 headers。浏览器会选择添加自己的headers。
其次,我建议您改为创建 Vaadin Link,而不是 Vaadin 按钮。导致新 window 打开的按钮单击将被注册为 javascript window.open() 并将被大多数现代浏览器阻止为 "popup"。
Vaadin Link 将呈现为标签。有了这个,您可以使用 target 属性打开一个新的 window,该属性可以在 Vaadin Link 上设置。这很可能不会作为弹出窗口被阻止。
我是 Vaadin7 的新手,需要一些帮助。我正在开发一个非常简单的应用程序,其中放置了几个按钮或重定向 link。当单击按钮或 link 时,一个新的 window 打开和外部网站出现在那个 window 中。我这样做 :
Button button = new Button("Window", new Button.ClickListener() {
@Override
public void buttonClick(Button.ClickEvent event) {
getUI().getPage().open("http://www.myotherapplication.com", "_blank");
}
});
它很简单,而且运行良好。我的问题是:如何向请求中添加一些 HTTP Headers?我需要传输一些基本信息,例如用户名、令牌等。有人可以帮我吗?有什么解决办法吗?谢谢!
您不能让浏览器在重定向浏览器时为页面添加 headers。浏览器会选择添加自己的headers。
其次,我建议您改为创建 Vaadin Link,而不是 Vaadin 按钮。导致新 window 打开的按钮单击将被注册为 javascript window.open() 并将被大多数现代浏览器阻止为 "popup"。
Vaadin Link 将呈现为标签。有了这个,您可以使用 target 属性打开一个新的 window,该属性可以在 Vaadin Link 上设置。这很可能不会作为弹出窗口被阻止。