2

单击按钮时,我需要执行一些操作,然后重定向到外部 url。

我找到的所有示例都适用于较旧的 Vaadin 版本,不适用于 Vaadin 10。

有人可以提供一个例子吗?

4

1 回答 1

2

在大多数情况下,我建议您使用 Vaadin 10+ 中的新Anchor组件。它的目的是覆盖你的用例,替换 BrowserWindowOpener 等。

如果您的用例是将未登录的用户重定向到外部 SSO 登录页面,那么我会采取不同的做法。我不会在注销按钮中进行重定向,而是在视图的访问控制中使用 实现它BeforeEnterEvent,您需要在视图中实现 BeforeEnterObserver 接口并覆盖beforeEnter(..)方法如下:

@Override
public void beforeEnter(BeforeEnterEvent event) {
    if (VaadinSession.getCurrent().getAttribute("userLoggedIn") == null) {
        UI.getCurrent().getPage().executeJavaScript("window.open(\"http://vaadin.com/\", \"_self\");");
    }
}
于 2018-09-13T05:45:02.133 回答