Vaadin Flow:如何获取当前 URI

Vaadin Flow: How to get current URI

我需要获取当前服务器名称以及存储在 URI 中的所有其他信息。 在 Vaadin 8 中,它可以通过 Page 通过调用这样的东西访问:

URI uri = Page.getCurrent().getLocation();

在 Flow 中 Page 不包含此类信息:

Router afaik 也没有。


如何获得 URI

提前致谢。

没有直接的方法可以做到这一点,但是针对这种情况的功能请求是开放的:https://github.com/vaadin/flow/issues/1897

2021 年 2 月更新

自 Vaadin 19 以来,有一个名为 fetchCurrentURL 的新 Page 方法,它将主动从前端轮询当前 url。

参见:commit


旧的可能有问题的解决方法

URI 可以使用以下方法检索:

VaadinServletRequest req = (VaadinServletRequest) VaadinService.getCurrentRequest();
StringBuffer uriString = req.getRequestURL();
URI uri = new URI(uriString.toString());