2012-01-23 11 views
1

セイの呼び出しzscriptの機能、私はそうのようなZULページ(page1.zul)を持っている:ZK - 含まれるサブページ

<zk> 
    <textbox id="textbox1" ></textbox> 
    <button label="Display" onClick="display()" ></button> 
    <include id="include1" ></include> 
<zscript> 
    display() { 
    include1.setSrc("page2.zul"); 
    java.lang.Class[] argTypes = new java.lang.Class[]{String.class}; 
    org.zkoss.xel.Function fn = include1.getChildPage().getZScriptFunction("doDisplay", argTypes); 
    fn.invoke(null, textbox1.value); 
    } 
</zscript> 
</zk> 

しかし、私はエラーを取得する - 「ヌルにする方法getZScriptFunctionを起動しようとします値"。したがって、include1.getChildPage()はnull値を返しています。つまり、getChildPage()を使用して「page2」を取得することができません。その方法についてはわかりません。私は、テキストボックスに何かを入力して、「表示」ボタンをクリックした場合、私は別のページにラベルの値を設定したい(page2.zul)

<zk> 
    <label id="label1" ></label> 
<zscript> 
    doDisplay(String value) { 
    label1.setValue(value); 
    } 
</zscript> 
</zk> 

私の2番目のページを以下に示します。 (例:page2)をテキストボックスの値に設定します。考え方は、あるページから別のインクルードページのzscript関数にコンポーネントの値を渡すことです。

答えて

1

これは、値を渡す代わりに実行できます。 Page2.zul

<zk> 
     <label id="label1" ></label> 
    <zscript> 
     doDisplay(String value) { 
     Textbox textbox=(Textbox)((Include)label1.getSpaceOwner()).getSpaceOwner().getFellowIfAny("textbox1"); 
     label1.setValue(textbox.getValue()); 
     } 
    </zscript> 
    </zk> 
1

次のようにあなたがfile1を変更することができます。

<zk> 
    <textbox id="textbox1" ></textbox> 
    <button label="Display" onClick="display()" ></button> 
    <!-- <include id="include1" ></include> --> 
    <div id="include"></div> 
<zscript> 
    display() { 
    include.appendChild(Executions.createComponents("page2.zul", include, null)); 
    } 
</zscript> 
</zk> 
+0

これはあなたの問題を解決できますか? –

関連する問題