In Vaadin 8, we can let the user open a new tab/window within their web browser by clicking a button that has been associated with a BrowserWindowOpener. As discussed in the man
There are basically three approaches you can use, and combinations of these
Use URI parameters. As you mentioned, this is limited to String
type data.
String uriFragment = Page.getCurrent().getUriFragment();
VaadinRequest.getParameter()
, VaadinRequest is given as parameter in init(...) of main UIUI's in different browser tabs share the same Vaadin session. That gives some tools, namely
You can use session attributes, i.e. VaadinSession.getCurrent().getAttribute(…)
and VaadinSession.getCurrent().setAttribute(…)
If you use CDI or Spring, you can Inject / Autowire @VaadinSessionScoped
bean. The instance is then bound to Session and hence shared between the tabs.
Read data from database (possibly using 1. and/or 2. as help for keys)