urivaadinvaadin-flowvaadin12

Vaadin Flow: How to get current URI


I need to get the current servers name an all the other information stored in the URI. In Vaadin 8 it was accessible thru the Page by calling something like this:

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

In Flow the Page does not contain such information: enter image description here

An neither does the Router afaik.


How do I get the URI?

Thank you in advance.


Solution

  • Update Feb 2021

    Since Vaadin 19 there is a new Page method called fetchCurrentURL which will actively poll the current url form the frontend.

    see: commit


    Old and potentially problematic workaround

    The URI can be retrieved using this:

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