单击按钮时,我需要执行一些操作,然后重定向到外部 url。
我找到的所有示例都适用于较旧的 Vaadin 版本,不适用于 Vaadin 10。
有人可以提供一个例子吗?
在大多数情况下,我建议您使用 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\");");
}
}