样例:
<window xmlns:w="client" apply="demoComposer">
<button label="仅修改客户端" w:onClick="zk.Widget.$(jq('$txtUsername')).setValue('sun4love');zk.log('setValue方法修改完毕');"/>
<button label="修改值并通知服务器端" w:onClick="zk.Widget.$(jq('$txtUsername')).smartUpdate('value','sun4love');zk.log('smartUpdate方法修改完毕');"/>
<button label="服务器端获值" forward="onGetUsername"/>
<textbox id="txtUsername" value="hello!"/>
</window>
private Textbox txtUsername
public void onGetUsername(){
System.out.println( txtUsername.getValue());
}
通常情况下我们这样修改txtUsername的值zk.Widget.$(jq("$txtUsername")).setValue("sun4love");
但当我们点击 服务器端获值 按钮的时候,非常遗憾,获得值仍然是hello!,而不是sun4love
这是因为setValue方法并没有告诉服务器端txtUsername的值有所改变,服务器端仅记得上次的值而已,
所以我们必须通知服务器端值的改变才可以,在今天之前我是通过zAu.send(new zk.Event(txtUsername,"onBlur"));实现的,非常麻烦,今天群内朋友PM 问了相关问题,我又看看看jsdoc(zk-jsdocXXX.zip)发现widget的smartUpdate方法,
smartUpdate的说明:Smart-updates a property of the peer component associated with this widget, running at the server, with the specified value.
意思是说Smart-updates 是每个组件相关widget的一个属性,运行于服务器端,
方法签名:smartUpdate(String name, Object value, int timeout)
name是组件标签的属性名,本例是value,Object value是sun4love
注意:从zk5.0.7开始,zk默认禁止smartUpdate,如果启用这里有两个方法
1,启用单一组件实例的smartUpdate功能
<window>
<custom-attribute org.zkoss.zk.ui.updateByClient="true"/>
...
</window>
2,启用某一组件所有实例的smartUpdate 启用配置见这里
<component>
<component-name>button</component-name>
<extends>button</extends>
<custom-attribute>
<attribute-name>org.zkoss.zk.ui.updateByClient</attribute-name>
<attribute-value>true</attribute-value>
</custom-attribute>
</component>
Great thanks,PM and zhongji
最后更新 2011-09-24
分享到:
相关推荐
OracleClient-18C Oracle客户端,包括windows和Linux
OracleClient-19C Oracle客户端,包括windows和Linux
oracle11g-client-win-64客户端安装包
OracleClient-21C Oracle客户端,包括windows和Linux
1、下载并解压Oracle客户端(要记住解压路径) instantclient-basic-nt-19.8.0.0.0dbru.zip(我电脑上用的是这个版本连接的Oracle11g) 3、配置window操作系统环境变量(新建以下两个变量) 此电脑(右键)→属性→...
Kubernetes-client-java Java 客户端。灵活性。它可以支持所有基于 Kubernetes 的系统,并最大限度地减少额外的开发,例如 Openshift、istio 等。可用性。开发人员只需要学习从 Kubernetes 文档中编写 json/yaml...
DCOM配置说明-解决客户端无法正常连接服务端问题.doc windows xp时客户端连接不上服务端问题解决方法.doc
fastdfs-client-java-master 官方客户端包 内涵详解和 jar包
HP用SOCKET实现(客户端---服务端)通信.doc
OracleClient-12C Oracle客户端,包括windows和Linux
STM32客户端连接PC服务端01服务器端向客户端通讯C#服务端STM32-H7. ETH-TCP Client客户端 C语言源代码
oracle数据库客户端 instantclient-basic-windows.x64-19.19.0.0.0dbru
VMware-Horizon-Client-4.7.0-7395453,这是客户端,服务端需要自行下载
提供oracle客户端windows64客户端文件,PLSQL Developer客户端连接oracle服务端,一般需要在客户端单独安装oracle客户端,可通过下载该文件,配置oracle主目录和oci.dll,免去安装oracle客户端(根据服务端oracle版本...
Oracle官方32位客户端-instantclient-basic-nt-12.2.0.1.0
Internetworking With Tcp Ip Vol III - Client-Server Programming And Applications Bsd Sockets Version
Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications instantclient-basic-windows.x64-11.2.0.4.0.zip (54,956,947 bytes) Instant Client 程序包 — Basic(win64...
Java Java Thin-Client Programming
instantclient-sqlplus-nt-11.2.0.3.0.zip instantclient-basic-nt-11.2.0.3.0.zip 链接: http://download.csdn.net/detail/lh11077/7727125 免安装客户端
oracle官方64位-11.2.0.4.0版本客户端-instantclient-basic-windows.x64-11.2.0.4.0