在同一桌面内不同页面间通信是很直接的。首先,可以使用事件来互相通知。其次,可以使用属性共享数据。
你可以在同一桌面的不同页面间通信。通信方式是使用postEvent
或sendEvent
通知目标页面的组件。
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");