2012/12/12

ZK 取得特定 Page 內的所有 Component

index.zul
<?page id="foo"?>
<zk>
 <include id="header" src="/header.zul" />
 <include id="mainView" src="/main.zul" />
</zk>

ViewModel or Composer
Method 1. Page Access
Page p = Executions.getCurrent().getDesktop().getPage("foo");

Collection<Component> c = p.getRoots();
for (Iterator<Component> it = c.iterator(); it.hasNext();) {
 Component cc = it.next();
 log.info(cc.getClass().toString());
}

Result: 印出兩個 Include Component。
Method 2. Path Access
Include i = (Include) Path.getComponent("//foo/mainView");
i.setSrc("/change.zul");

兩個 / 代表 Page ID,一個代表 Component ID

No comments:

Post a Comment