您的位置:首页 > 其它

ZK(7.0.1)中SelectorComposer与GenericForwardComposer用法差异的简单示例

2014-08-08 11:49 381 查看
1. zul页面index.zul:

<?page title="Hello ZK" contentType="text/html;charset=UTF-8"?>
<zk>
<!-- apply属性将页面上的控件与JavaBean绑定起来 -->
<window title="Hello ZK" border="normal"
apply="com.huey.zk.controller.SimpleMsgController">
<vbox>
<hbox>msg: <label id="msgLabel" /></hbox>
<hbox>
<textbox id="msgTextbox" />
<button id="ctrlButton" label="OK" />
</hbox>
</vbox>
</window>
</zk>


2. SelectorComposer:

package com.huey.zk.controller;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Label;
import org.zkoss.zul.Textbox;

/**
* ZK组件控制器SimpleMsgController
* @author huey2672
* @version 1.0
* @created 2014-8-8
*/
public class SimpleMsgController extends SelectorComposer<Component> {

/**
*
*/
private static final long serialVersionUID = 35698036153044181L;

// 与页面的id为msgLabel的控件绑定
@Wire
private Label msgLabel;
// 与页面的id为msgTextbox的控件绑定
@Wire
private Textbox msgTextbox;

// 监听id为ctrlButton的控件的onClick事件
@Listen("onClick=#ctrlButton")
public void sendMsg() {
String msg = msgTextbox.getValue();
msgLabel.setValue(msg);
}

}


3. GenericForwardComposer:

package com.huey.zk.controller;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label;
import org.zkoss.zul.Textbox;

/**
* ZK组件控制器SimpleMsgController
* @author huey2672
* @version 1.0
* @created 2014-8-8
*/
public class SimpleMsgController extends GenericForwardComposer<Component> {

/**
*
*/
private static final long serialVersionUID = 35698036153044181L;

// 与页面的id为msgLabel的控件绑定
@Wire
private Label msgLabel;
// 与页面的id为msgTextbox的控件绑定
@Wire
private Textbox msgTextbox;

/**
* 监听id为ctrlButton的控件的onClick事件
* @param event
*
* 还可以选择方法签名:public void onXxx()
* 然后在zul页面中ctrlButton的forward属性中指定
*/
public void onClick$ctrlButton(Event event) {
String msg = msgTextbox.getValue();
msgLabel.setValue(msg);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐