编程语言
首页 > 编程语言> > java – 在Vaadin 7中,将数据/参数传递给BrowserWindowOpener的新UI实例?

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

作者:互联网

我用BrowserWindowOpener成功打开了新的浏览器窗口.

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

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

BrowserWindowOpener bookOpener = new BrowserWindowOpener( BookUI.class );

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

我注意到BrowserWindowOpenerState类,但没有记录它的使用.

解决方法:

我没有试过这个,但是快速浏览一下javadoc表明,通过使用BrowserWindowOpener#setParameterBrowserWindowOpener#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
  }
} 

标签:java,window,vaadin,vaadin7
来源: https://codeday.me/bug/20190625/1284918.html