Vaadin 10 Кнопка перенаправлена ​​на URL - PullRequest
0 голосов
/ 13 сентября 2018

При нажатии на кнопку мне нужно выполнить какое-то действие, а затем перенаправить на внешний URL-адрес.

Все примеры, которые я нашел, относятся к более старой версии Vaadin и не работают на Vaadin 10.

Может кто-нибудь привести пример, пожалуйста?

1 Ответ

0 голосов
/ 13 сентября 2018

В большинстве случаев я бы порекомендовал вам использовать новый компонент Anchor в Vaadin 10+.Его цель - охватить ваш вариант использования, заменить BrowserWindowOpener и т. Д.

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