0

次の問題があります: ID が "id_gb1"、"id_gb2"、"id_gb3"、"id_gb4" の 4 つのグループボックスを含む zk ページがあります。次の行を持つ Java コントローラー (GenericForwardComposer を拡張) を作成しました。

[...]
@Listen("onClick = #id_gb1; onClick = #id_gb2; onClick = #id_gb3; onClick = #id_gb4")
private void onClick() {
  //do some stuff
}
[...]

zk ファイルの window 要素の属性 apply の値をクラス名で設定します。問題は、グループボックスのラベルをクリックしても何も追加されないことです。さらに、同じ Java コントローラーに書き込むと

[...]
public void onClick$id_gb1() {
  //do some stuff
}
[...]

できます!

私が間違っていることを誰かが知っていますか?ありがとう、ダニエレ

4

2 に答える 2

3

ZK5 から ZK6 への大きな変更がいくつかありました。

ZK5:
使い方GenericForwardComposeronClick$myButton構文。

ZK6:
使用SelectorComposer@Listen注釈。

このトピックでは、ZK6.5 で MVVM レイアウトが導入されています。ZK を学習している場合は、このレイアウトを調べてください。

于 2013-05-30T11:10:04.630 に答える
0

コンポーネントにプロパティを使用sclassし、コントローラーで、同様のすべてのコンポーネントに対して1つの @Listen のみを使用しました。これにより、呼び出すメソッドが同じになりました。

zul ファイル:

<toolbarbutton sclass="inLineBtns" .../>
<toolbarbutton sclass="inLineBtns" .../>
<toolbarbutton sclass="inLineBtns" .../>

SelectorComposerクラスを拡張するコントローラ ファイル:

@Listen("onClick = .inLineBtns")
public void doSomthing(){
...
}

コンポーネントの ID ではなく、クラス名であることを示すドットに注意してください。

于 2013-05-31T15:39:19.040 に答える