跨页面通信

在同一桌面内不同页面间通信是很直接的。首先,可以使用事件来互相通知。其次,可以使用属性共享数据。

提交和发送事件

你可以在同一桌面的不同页面间通信。通信方式是使用postEventsendEvent通知目标页面的组件。

Events.postEvent(new Event("SomethingHappens",
   comp.getDesktop().getPage("another").getFellow("main"));

属性

每个组件,页面,桌面,会话和Web应用程序都一个独立的属性映射。这是一个在组件,页面,桌面,甚至会话间共享数据的好地方。

zscript和EL表达式中,你可以使用隐含对象 :componentScope pageScope desktopScope sessionScope requestScope applicationoScope

在一个Java文件中,你可以使用相应类中的属性相关方法来访问它们。你也可以使用作用域(scope)参数来标识你想访问的作用域。下面的两条语句是等价的,假定comp 为一个组件。

comp.getAttribute("some", comp.DESKTOP_SCOPE);
comp.getDesktop().getAttribute("some");