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