`
snoopy7713
  • 浏览: 1152087 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

zk client与server code结合提高长操作的响应性

    博客分类:
  • ZK
zk 
阅读更多

一,关于长操作与响应性

 

zk client与server code结合提高长操作的响应性

--------------------------------------

 

响应性:《企业应用架构模式》一书这样说,响应性不同于请求处理,他是系统响应请求的速度有多快。这个指标在许

 

多系统里非常重要,因为对于一个系统而言,如果其响应性太慢,用户将难以忍受----尽管其响应时间可能不慢。如果请

 

求处理期间,系统一直处于等待状态,则系统的响应性与响应时间相同,然而,如果能够在处理真正完成之前就给用户

 

一些信息表明系统已经接到请求,测响应性会好一些,例如,则文件拷贝过程中,为用户提供一个进度条,将会提高用

 

户界面的响应性,但并不会提高响应时间

------------------------------------------

 

 

 

二,在zk中我们如何实现,提高用户体验

 

 

1,在zk中,已经有对长操作的一些解决方案,今天群里的朋友问起,我结合当前zk5的特性,搞了这么一个例子,希望对大家有所帮助

 

2,操作步骤

 

1提示请稍后,2 执行业务操作 3,提示完成

 

3,具体代码

 

代码部分,首先,利用zk client api 弹出请稍后提示框 w:onClick="zk.Widget.$(jq('$win')).doModal() ",

 

因为zk client api运行与浏览器端,会立即显示,此时尚未执行服务器端代码onClick部分

 

然后我们声明了一个事件 onClick="doSomething()"/>执行服务代码,

 

在代码中,我使用Thread.sleep(2000),让该线程休息2s,模拟业务操作,

 

然后隐藏弹窗设置父组件为null,该作用是将其移除组件所在的页面,不再页面的组件不会显示。

 

这里我没有使用post close event给这个弹窗让其关闭,因为我觉得这样太麻烦,

 

还需要提交事件到事件队列。因为我看过onClose事件里的代码也就如此。

最后,提示操作完成

 

即:1,js弹窗请稍后,2执行业务代码,3代码执行完毕,稍后弹窗 4 提示业务操作完成


 

Xml代码 复制代码 收藏代码
  1. <zk>
  2. <window title="My First Window" border="normal" width="200px" xmlns:w="client">
  3. <zscript>
  4. <![CDATA[
  5. void doSomething(){
  6. Thread.sleep(2000);
  7. win.visible=false;
  8. win.parent=null;
  9. alert("加载完毕,请查看该用户详细信息!");
  10. }
  11. ]]>
  12. </zscript>
  13. <button label="先提示忙,后提示完成" w:onClick="zk.Widget.$(jq('$win')).doModal() " onClick="doSomething()"/>
  14. </window>
  15. <window id="win" border="normal" width="350px" minheight="350" closable="true" title="提示">
  16. <label value="执行中,请稍后..."/>
  17. </window>
  18. </zk>
<zk>
<window title="My First Window" border="normal" width="200px" xmlns:w="client">
<zscript> 
  <![CDATA[
        void  doSomething(){
                           Thread.sleep(2000);
                           win.visible=false;
                           win.parent=null;
                           alert("加载完毕,请查看该用户详细信息!");

                 }

]]>
</zscript>
<button label="先提示忙,后提示完成" w:onClick="zk.Widget.$(jq('$win')).doModal() " onClick="doSomething()"/>


</window>

<window id="win" border="normal" width="350px"  minheight="350" closable="true" title="提示">

<label value="执行中,请稍后..."/>

</window>



</zk>

示:


 

分享到:
评论

相关推荐

    zookeeper 3.6.3 源码下载

    ZAB协议结合了主备选举和原子广播,确保在分布式环境中数据的一致性和完整性。 **源码结构分析** ZooKeeper的源码主要分为以下几个部分: 1. **协议层**:包含ZAB协议的实现,处理消息的发送和接收,保证数据的...

    java开源包1

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包11

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包2

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包3

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包6

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包5

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包10

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包4

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包8

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包7

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包9

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    java开源包101

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

    Java资源包01

    它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JS...

Global site tag (gtag.js) - Google Analytics