使用 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 上设置。这很可能不会作为弹出窗口被阻止。