ZK(7.0.1)中SelectorComposer与GenericForwardComposer用法差异的简单示例
2014-08-08 11:49
381 查看
1. zul页面index.zul:
2. SelectorComposer:
3. GenericForwardComposer:
<?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); } }
相关文章推荐
- ZK 前端框架GenericForwardComposer和SelectorComposer的区别
- ZK(7.0.1)的简单示例
- ZK(7.0.1)+Spring(2.3.2)+MyBatis(2.3.2)整合的简单示例
- ZK(7.0.1)国际化的简单示例
- ZK(7.0.1)将zul页面引入作为组件标签的简单示例
- ZK(7.0.1)动态分页的简单示例
- 关于List中FindAll用法的一些简单示例
- List中FindAll用法的一些简单示例并与where的区别
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- 对FrameBuffer的简单解释和用法示例
- epoll的简单用法示例(程序还有bug,但只是为了示例epoll的用法就不改了)
- 对FrameBuffer的简单解释和用法示例
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
- php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- DecimalFormat类简单用法示例