How to control uri in Vaadin using the Navigator

Vaadin provides Navigator for navigating between pages, but I don’t like the way it writes a URL, for example /VaadinApp/#!login. How to change this URI to /VaadinApp/login. Has anyone tried to do this?

+4
source share
2 answers

You need to expand UriFragmentManagerand override the methods getState()and setState():

public void setState(String state)  {
   setFragment(state);
}

public String getState() {
   return getFragment() != null ? getFragment() : "";
}
+5
source

, UriFragmentManager. , URI, /VaadinApp/login? ! URI, UriFragmentManager. , shebang #! URI ( ).

-, . URI, , , Vaadin. Vaadin , Ajax. URL, ​​ /VaadinApp/login, /VaadinApp/profile, /VaadinApp/main .., Vaadin , . , Vaadin JavaScript. , Navigator Vaadin. , , , UriFragmentManager.

, Alexey, com.vaadin.navigator.Navigator.UriFragmentManager getState() setState(), ( ). Navigator:

Navigator(UI ui, NavigationStateManager stateManager, ViewDisplay display)

UriFragmentManager NavigationStateManager.

+6

Source: https://habr.com/ru/post/1538445/


All Articles