【发布时间】:2021-10-12 08:57:05
【问题描述】:
我在会话中设置了一个属性,它是真还是假。如果该属性为真,我需要 vaadin 拦截所有请求并将其重定向到新的自定义 Vaadin 页面。我知道有一个名为 VaadinServiceInitListener 的接口,但是我无法将用户重定向到自定义页面,因为 UI.getcurrent() 返回 null。
这是我的代码:
@Override
public void serviceInit(ServiceInitEvent serviceEvent) {
serviceEvent.getSource().addSessionInitListener(initEvent -> {
initEvent.getSession().addRequestHandler(globalRequestHandler());
});
}
public RequestHandler globalRequestHandler() {
return (session, vaadinRequest, response) -> {
session.access(() -> {
if (isSessionlocked()) {
UI.getCurrent().navigate(MyCustomView.class);
}
});
return false;
};
}
【问题讨论】:
标签: vaadin-flow vaadin14