ZK Client Programming, 在客户端编程.触发客户端的Checkbox的onCheck事件从而选中Checkbox, 而在后台绑定类中 获取不到客户端的选中状态 打印出False;找解决方案!
XML代码
<?xml version="1.0" encoding="utf-8"?>
<?page id="authorityPage"?>
<?xel-method prefix="c" name="hasPermission"
class="com.linktel.linkFax.web.zk.util.AuthorityTools"
signature="com.linktel.linkFax.web.zk.util.AuthorityTools hasPermission(java.lang.String)"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./authorityWin"?>
<window id="authorityWin"
use="com.linktel.linkFax.web.zk.controller.AuthorityController" width="100%"
xmlns:h="http://www.w3.org/1999/xhtml" xmlns:n="http://www.zkoss.org/2005/zk/native"
xmlns="http://www.zkoss.org/2005/zul" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd"
xmlns:w="http://www.zkoss.org/2005/zk/client">
<grid id="grid" fixedLayout="true">
<columns>
<column>
<checkbox w:onCheck="jq(@checkbox,this).setChecked(true)"></checkbox>
<toolbarbutton forward="onAuthorizeRole" image="images/apply.gif"></toolbarbutton>
</column>
</columns>
<rows>
</rows>
</grid>
</window>
Java代码
package com.linktel.linkFax.web.zk.controller;
import java.awt.Checkbox;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.zkoss.zk.ui.Components;
import org.zkoss.zk.ui.event.CheckEvent;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.ext.AfterCompose;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.spring.SpringUtil;
import org.zkoss.zul.Window;
import org.zkoss.zul.api.Combobox;
import org.zkoss.zul.api.Div;
import org.zkoss.zul.api.Grid;
import org.zkoss.zul.api.Label;
import org.zkoss.zul.api.Row;
import org.zkoss.zul.api.Rows;
import com.linktel.linkFax.domain.Authority;
import com.linktel.linkFax.domain.Role;
import com.linktel.linkFax.service.AuthorityService;
import com.linktel.linkFax.service.RoleService;
import com.linktel.linkFax.web.zk.util.ZkUtils;
public class AuthorityController extends Window implements AfterCompose {
/**
*
*/
private static final long serialVersionUID = 1L;
protected Grid grid;
@Override
public void afterCompose() {
Components.wireVariables(this, this);
Components.addForwards(this, this);
init();
}
public void onCreate() {
binder = (AnnotateDataBinder) this.getAttribute("binder",
true);
}
public void onAuthorizeRole(Event event){
Rows rows= grid.getRowsApi();
org.zkoss.zul.api.Checkbox chk= (org.zkoss.zul.Checkbox) rows.getFirstChild();
System.out.println(chk.isChecked());//打印出客户端选中的状态true or false;
}
}
不知问题怎么解决????请教高手出招!!!!!!
分享到:
相关推荐
4. **监控与调试**: 提供了监控Zookeeper状态的能力,例如查看服务器状态、统计信息、连接状态等,有助于问题排查和系统优化。 5. **数据迁移与备份**: 对于大规模的Zookeeper集群,ZkTools可以帮助用户进行数据...
描述中提到的“启动bat脚本,输入连接ip”,这通常是指在Windows环境下,使用Zookeeper提供的zkServer.cmd脚本来启动服务,然后通过zkCli.cmd客户端工具连接到Zookeeper服务器。连接时,用户需要输入Zookeeper服务器...
ZK框架是一款基于Java的开源用户界面框架,专门用于构建富客户端Web应用。它整合了Ajax技术,使得开发者能够在不刷新整个页面的情况下实现动态更新,从而提供更好的用户体验。本实战教程将深入探讨如何利用ZK框架...
- 当节点消失(如客户端断开连接),Zookeeper会触发watcher事件,其他客户端可以尝试获取锁。 **应用场景与选择** - 对于性能要求高且对锁实现简单的场景,可以选择Redis分布式锁。 - 如果更注重锁的可靠性和公平...
- **Watcher**:一种事件监听机制,当指定的ZNode发生改变时,ZK会触发Watcher通知客户端。 - **选举算法**:ZK采用Fast Leader Election算法确保高可用性,通过投票选举出领导者。 2. **ZK API** - **创建节点*...
通过深入学习Zookeeper的节点类型和Java客户端的使用,我们可以更好地利用其特性来解决分布式环境下的诸多问题,比如服务发现、配置管理、分布式锁等。结合源码分析,可以进一步理解其实现原理,从而提高问题排查和...
除了这些基础操作,ZK API 还提供了 Watcher 机制,允许客户端注册监听事件,如 znode 的创建、删除、数据改变等。当这些事件发生时,ZooKeeper 会发送一个通知到对应的 Watcher。 在实际应用中,ZK API 常用于实现...
1. **设计模式**:ZK采用了多种设计模式,如观察者模式(Observer Pattern)用于客户端与服务器之间的通信,发布/订阅模式(Publish/Subscribe Pattern)用于事件通知,以及状态机模式(State Machine Pattern)来...
1. **原生客户端API方式**:利用Zookeeper的临时顺序节点(ephemeral sequential nodes)特性,每个客户端在特定路径下创建一个临时顺序节点,通过比较节点的顺序来判断获取锁的顺序。当持有锁的节点被删除时,其他...
ZK是一款基于Java的开源富客户端用户界面框架,它提供了一种事件驱动的编程模型,使得开发者可以轻松创建交互式的Web应用。ZK内置了多种组件,其中包括用于分页的`paging`组件,这在处理大数据集时非常有用。 MVC...
2. **Client**:应用程序通过Zookeeper客户端连接到集群,获取或更新数据,或者注册监听事件。 3. **Data Model**:Zookeeper的数据模型类似于文件系统,由路径名表示的节点(Znode)组成,每个节点都可以存储数据,...
2. **会话和Watcher**:ZooKeeper中的会话是客户端与服务器之间的连接,Watcher是一种事件监听机制,可以注册在节点上,当节点状态改变时触发回调函数。 3. **ZNode与数据模型**:ZooKeeper的数据存储模型是层次化...
内存数据结构包括客户端会话、watch事件、ZNode树等核心信息,它们直接存放在内存中以提供快速访问。Java堆则是Java应用程序的默认内存区域,包括对象实例、字符串常量池等。 进行ZooKeeper内存监控的主要目的是...
4. 监控告警:实时监控Zookeeper的运行状态,如CPU、内存使用情况,以及异常事件告警,确保服务稳定运行。 5. 日志查看:提供查看和下载Zookeeper服务器日志的功能,便于问题排查。 在源代码中,我们可以通过以下几...
ZooKeeper,简称ZK,是由Apache基金会开发的分布式协调服务框架,主要用于解决分布式环境中的数据一致性问题。这个“zk框架所需jar包”是ZooKeeper运行所必需的依赖库,包含了ZooKeeper 3.6.1版本的所有组件。 在...
Watch 是 ZooKeeper 的一个重要特性,它允许客户端设置监听器(Watch)在特定 ZNode 上,当该 ZNode 发生改变(如数据更新、被删除或子节点变更)时,ZooKeeper 会向客户端发送一个事件通知。然而,Watch 是一次性...
ZK的数据绑定机制允许UI组件的状态与后端数据模型直接关联,实现数据的实时更新。开发者可以通过简单的声明式语法,将组件的属性与数据源进行绑定,从而达到数据驱动视图的效果。 4. **脚本语言支持** ZK支持使用...
9. **最佳实践**:获取在实际开发中使用ZK的经验和技巧,避免常见问题,提高系统的稳定性和可维护性。 10. **阅读标记**:书中带有的阅读标记可能包含了读者认为的重点、难点或者解决方案,这部分内容对于快速理解...
- **ZK定义**:ZK是一个事件驱动的、基于组件的框架,用于提升Web应用的用户界面体验。它由三个核心部分组成: - 基于AJAX的事件驱动引擎:负责处理用户事件并异步与服务器通信。 - 一套丰富的XUL和XHTML组件库:...
2. 读取节点:使用`getData`获取节点数据,`getChildren`获取子节点列表。 3. 更新节点:使用`setData`更新节点数据。 4. 删除节点:使用`delete`删除指定节点。 5. 监听机制:通过`exists`、`getData`和`...