我要求10个按钮重定向到URL

问题描述 投票:2回答:1

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

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

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

vaadin vaadin10
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\");");
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.