ZK 父窗口与子窗口消息交互
父窗口代码:
前台(test.zul)
- <?page title="" contentType="text/html;charset=UTF-8"?>
- <zk xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://www.zkoss.org/2005/zul"
- xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul">
- <window id="testWin" border="none" apply="test.test19">
- <button id="testBtn" label="测试"/>
- <label id="testLabel" value="ats了解,他不" />
- </window>
- </zk>
后台(test19.java)
- package test;
- import java.util.HashMap;
- import java.util.Map;
- import org.zkoss.zk.ui.Component;
- import org.zkoss.zk.ui.Executions;
- import org.zkoss.zk.ui.event.Event;
- import org.zkoss.zk.ui.event.EventListener;
- import org.zkoss.zk.ui.event.Events;
- import org.zkoss.zk.ui.event.ForwardEvent;
- import org.zkoss.zk.ui.util.GenericAutowireComposer;
- import org.zkoss.zul.Button;
- import org.zkoss.zul.Window;
- public class test19 extends GenericAutowireComposer<Component>{
- private static final long serialVersionUID = 1L;
- private Button testBtn;
- @Override
- public void doAfterCompose(Component comp) throws Exception {
- // TODO Auto-generated method stub
- super.doAfterCompose(comp);
- testBtn.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
- @Override
- public void onEvent(Event event) throws Exception {
- // TODO Auto-generated method stub
- Map<String, String> map = new HashMap<String, String>();
- map.put("messageItem", "斩.赤红之瞳");
//map.put("testLabel",testLabel);//将控件传给子窗口进行控制- String url = "Exit.zul";
- Window window = (Window)Executions.createComponents(url, null, map);
- window.doModal();
- window.addForward("onRefresh", self, "onKjhen");//1、3参数命名必须以on开关且第三个字母必须大写--见附图
- }
- });
- }
- public void onKjhen(ForwardEvent event){
- alert(event.getOrigin().getData().toString());
- }
- }
附图:
子窗口代码:
前台(Exit.zul)
- <?page title="" contentType="text/html;charset=UTF-8"?>
- <zk xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://www.zkoss.org/2005/zul"
- xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul">
- <window id="exitWD" title="消息提示框" border="normal" position="center,center"
- action="show: slideDown;hide: slideUp" width="450px" closable="true"
- apply="test.Exit">
- <div align="center">
- <label id="testLb"/>
- </div>
- <button id="testBtn" label="按扭"/>
- </window>
- </zk>
后台(Exit.java)
- package test;
- import java.util.Map;
- import org.zkoss.zk.ui.Component;
- import org.zkoss.zk.ui.Executions;
- import org.zkoss.zk.ui.Path;
- import org.zkoss.zk.ui.event.Event;
- import org.zkoss.zk.ui.event.EventListener;
- import org.zkoss.zk.ui.event.Events;
- import org.zkoss.zk.ui.util.GenericForwardComposer;
- import org.zkoss.zul.Button;
- import org.zkoss.zul.Label;
- import org.zkoss.zul.Window;
- public class Exit extends GenericForwardComposer<Component>{
- private static final long serialVersionUID = 1L;
- Map<?, ?> map;
- private Label testLb;
- private Button testBtn;
- Window exitWD;
- @Override
- public void doAfterCompose(Component comp) throws Exception {
- super.doAfterCompose(comp);
- //获取父页面的控件
- Label testbox = (Label) Path.getComponent("/testWin/testLabel");//格式父窗口id+父窗口子控件id
- System.out.println(testbox.getValue());
- map = Executions.getCurrent().getArg();
- if (map.containsKey("messageItem")){
- testLb.setValue((String)map.get("messageItem"));
- }
- else {
- testLb.setValue("——————————————");
- }
- testBtn.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
- @Override
- public void onEvent(Event event) throws Exception {
- String abc = "testPass";
- Events.postEvent("onRefresh", self, abc);
- exitWD.detach();
- }
- });
- }
- }
ZK 父窗口与子窗口消息交互的更多相关文章
- windows窗口分析,父窗口,子窗口,所有者窗口
(本文尝试通过一些简单的实验,来分析Windows的窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++.Windows编程及MFC经验,还得有一定动手能力.文中可能出现一些术语不统一的现象 ...
- HTML中IFrame父窗口与子窗口相互操作
一.Iframe篇 //&&&&&&&&&&&&&&&&&&am ...
- JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
一.Iframe 篇 公共部分 //父对象得到子窗口的值 //ObjectID是窗口标识,ContentID是元素ID function GetValue(ObjectID,ContentID) { ...
- js window.open() 父窗口与子窗口的互相调用(未必有用)
javascript 父窗口与子窗口的互相调用 <html> <head></head> <body> 主要实现父子关系的页面 window.opene ...
- 总结JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
一.Iframe 篇 //&&&&&&&&&&&&&&&&&&a ...
- #js window.open() 父窗口与子窗口的互相调用【转】
未完整版 javascript 父窗口与子窗口的互相调用 a.html 父页面 <HTML> <HEAD> <meta http-equiv="content- ...
- iframe父窗口和子窗口之间的调用
1>父窗口获取子窗口 js方法 document.getElementById('if1').contentWindow.document: window.frames["if1&qu ...
- 总结js(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
http://hi.baidu.com/yashua839/blog/item/131fdb2fe547ef221f3089af.html一.Iframe 篇 //&&&&am ...
- iframe父窗口和子窗口的调用方法
iframe 父窗口和子窗口的调用方法父窗口调用子窗口 iframe_name.iframe_document_object.object_attribute = attribute_value 例子 ...
- windows 编程 —— 子窗口 与 子窗口控件
目录: 子窗口与主窗口的交互 子窗口控件 按钮类别 button 滚动条类别 scrollbar 静态类别 static 编辑框类别 edit 清单方块 listbox 子窗口与主窗口的交互 创建窗 ...
随机推荐
- 剑指offer系列——二维数组中,每行从左到右递增,每列从上到下递增,设计算法找其中的一个数
题目:二维数组中,每行从左到右递增,每列从上到下递增,设计一个算法,找其中的一个数 分析: 二维数组这里把它看作一个矩形结构,如图所示: 1 2 8 2 4 9 12 4 7 10 13 6 8 11 ...
- Google自己的下拉刷新组件SwipeRefreshLayout
SwipeRefreshLayout SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support librar ...
- Liferay 6.2 改造系列之十六:关闭OpenID模式的单点登录
在/portal-master/portal-impl/src/portal.properties文件中,有如下配置: # # Set this to true to enable OpenId au ...
- Liferay 6.2 改造系列之五:修改默认站点的页面内容
相关页面可以通过/portal-master/portal-impl/src/portal.properties文件配置进行修改: 登录页: ## ## Default Landing Page ## ...
- .NET运用AJAX 总结及其实例
1.AJAX简介 (1.没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器的时间.每次都要刷新页面的坏处:页面刷新打断用户操作.速度慢.增加服务器的 ...
- npm 模块常用命令
mocha mocha --compilers js:babel/register : 在babel模式下测试,默认查找test文件夹,注意此时全局不要安装babel; ./node_modules/ ...
- 安卓微POS-PDA手持终端,支持离线在线联网销售开单;移动开单 盘点 功能
采购单.采购退货单 销售单.销售退货单.收款.优惠.赠品等操作实现盘点作业(多台设备同时作业,相同商品,数量累计) 现场打印票据 实现采购订单.采购单.采购退货单.销售订单.销售单.销售退货单验货没 ...
- 简单的jQuery扩展函数-让函数缓冲执行
$.fn.retarder = function(delay, method) { var node = this; if (node.length) { if (node[0]._timer_) c ...
- NoSQL-Redis【1】-控制台配置密码
1.设置密码为123456 CONFIG SET requirepass 123456 2.验证密码 AUTH 123456 3.redis-cli连接 @ECHO OFF redis-cli.exe ...
- BZOJ 1412 & 最小割
什么时候ZJ省选再现一次这么良心的题吧... 题意: 在一个染色的格子画分割线,使其不想连,求最少的线段 SOL: 裸裸的最小割.题目要求两种颜色不想连,我们把他分到两个集合,也就是把所有相连的边切断 ...