При нажатии кнопки мне нужно выполнить какое-то действие, а затем перенаправить на внешний URL-адрес.
Все примеры, которые я нашел, относятся к более старой версии Vaadin и не работают на Vaadin 10.
Может кто-нибудь привести пример?
При нажатии кнопки мне нужно выполнить какое-то действие, а затем перенаправить на внешний URL-адрес.
Все примеры, которые я нашел, относятся к более старой версии Vaadin и не работают на Vaadin 10.
Может кто-нибудь привести пример?
В большинстве случаев я бы рекомендовал вам использовать новый Якорь в Vaadin 10+. Его цель - охватить ваш вариант использования, заменить 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\");");
}
}