java – 在Vaadin 7中,将数据/参数传递给BrowserWindowOpener的新UI实例?
作者:互联网
我用BrowserWindowOpener成功打开了新的浏览器窗口.
问题:如何将一些信息传递给新实例化的UI子类?
语法要求我指定要实例化的类.如何与未来的实例进行通信?
BrowserWindowOpener bookOpener = new BrowserWindowOpener( BookUI.class );
例如,假设我的应用程序打开一个窗口,列出以字母(A-Z)的特定字母开头的单词的单词定义.如何告诉新开启的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
}
}
标签:java,window,vaadin,vaadin7 来源: https://codeday.me/bug/20190625/1284918.html