0
main.zul

    ...@init('Main')...
        <zk>
        ...
           <include src="north.zul"/>
           <include src="@bind(vm.pageSource)"/>
        ...
        <zk>

north.zul
    ...@init('North')...
        <zk>
        ...
           <a onClick="@command('linkClicked')">link</a>
        ...
        <zk>

Main.java
...
private String pageSource = "content1.zul"
//getter setter of PageSource

North.java
...
@command
public void linkClicked(){
   // access main object and call main.setPageSource("content2.zul") (how to do this ?)
}


httpmain.zul に対するリクエストが来ると、Main と North のインスタンスが作成されますが、とにかく Main オブジェクトにアクセスできますか?

ZKcontextセッションスコープインスタンスを要求できるようなものはありますか?

4

1 に答える 1

1

onClickのイベントからグローバル コマンドをポストする必要がありますnorth.zul

onClick="@global-command('switchContent', file='content2.zul')"

あなたMain.javaはこのグローバルコマンドをリッスンします:

@GlobalCommand
@NotifyChange("pageSource")
public void switchContent(@BindingParam("file") String file) {
  setPageSource(file);
}
于 2013-10-18T13:30:39.323 に答える