在Vaadin 7中,将数据/参数传递给BrowserWindowOpener的新UI实例?

我正在使用BrowserWindowOpener成功打开新的浏览器窗口。

问题:如何将一些信息传递给新实例化的UI子类?

语法要求我指定要实例化的类。 如何与未来的实例进行通信?

BrowserWindowOpener bookOpener = new BrowserWindowOpener( BookUI.class ); 

例如,假设我的应用程序打开一个窗口,列出以字母(AZ)的特定字母开头的单词的单词定义。 如何告诉新开放的UI它应该显示“A”字,“B”字或“V”字?

我注意到了BrowserWindowOpenerState类,但没有记录它的用法。

我没有试过这个,但是快速浏览一下javadoc表明,通过使用BrowserWindowOpener #setParameter或BrowserWindowOpener #setUriFragment,您可以将参数传递给UI。

例如

 BrowserWindowOpener bookOpener = new BrowserWindowOpener( BookUI.class ); bookOpener.setParameter("startLetter", "A"); ... class BookUI { protected abstract void init(VaadinRequest request){ String startLetter = request.getParameter("startLetter"); // Etc } }