2007-08-29
PageBus1.1有利于实现UI组件之间的松散耦合
推荐大家使用PageBus!
http://www.tibco.com/devnet/pagebus/default.jsp
举一个简单的例子。
用户列表中,需要实现新建用户功能。利用Extjs框架,用两个js文件实现:
(1)user-list.js 实现网格显示功能,并定义工具条,其中有新建按钮。
(2)user-add.js 弹出对话框,输入用户信息。
当用户新建完毕后,需要将用户网格刷新,并将光标定位到刚才新建的用户上。
作为设计准则,我们应该避免双向依赖关系,即:user-list.js 可以依赖 user-add.js(让它显示对话框),但 user-add.js 应该
避免依赖user-list.js。
那么如何做到新建用户后,能实现上述功能呢?
显然,使用 PageBus 的消息发布和订阅功能,是最佳方案。
http://www.tibco.com/devnet/pagebus/default.jsp
举一个简单的例子。
用户列表中,需要实现新建用户功能。利用Extjs框架,用两个js文件实现:
(1)user-list.js 实现网格显示功能,并定义工具条,其中有新建按钮。
(2)user-add.js 弹出对话框,输入用户信息。
当用户新建完毕后,需要将用户网格刷新,并将光标定位到刚才新建的用户上。
作为设计准则,我们应该避免双向依赖关系,即:user-list.js 可以依赖 user-add.js(让它显示对话框),但 user-add.js 应该
避免依赖user-list.js。
那么如何做到新建用户后,能实现上述功能呢?
显然,使用 PageBus 的消息发布和订阅功能,是最佳方案。
评论
dhtiger
2007-10-01
fangzhouxing 写道
附件中是"Ext实现的组合式界面实例画面"对应的js代码,只能作为参考,恕不提供进一步的支持,而且没有后台和其他相应文件,也无法运行.
我怎么调试你给的源码总是不成功,LZ是否在提供之前测试过?或者除了EXT的一些JS库,还需要一些别的JS?
fredzhang
2007-09-10
这个跟OpenAjax Hub很类似吧
fangzhouxing
2007-09-10
附件中是"Ext实现的组合式界面实例画面"对应的js代码,只能作为参考,恕不提供进一步的支持,而且没有后台和其他相应文件,也无法运行.
dhtiger
2007-09-09
你的组合界面的源码可否拿 来共享一下,感觉真的好漂亮
fangzhouxing
2007-09-06
附件中是pagebus1.1:
<script src="pagebus.js"></script>
lpp333
2007-09-06
fangzhouxing
2007-09-05
附图是Ext1.1实现的组合式界面. 采用了多个js:
这种编程模式各位没有用过吗?还是有更好的方法来做.希望看到反馈.
<script src="/common.js"></script> <script src="/track/main.js"></script> <script src="/track/project.js"></script> <script src="/track/element.js"></script> <script src="/track/component.js"></script> <script src="/track/component-form.js"></script> <script src="/track/milestone.js"></script> <script src="/track/milestone-form.js"></script> <script src="/track/version.js"></script> <script src="/track/milestone-with-version.js"></script> <script src="/track/milestone-without-version.js"></script> <script src="/track/version-form.js"></script>
这种编程模式各位没有用过吗?还是有更好的方法来做.希望看到反馈.
fangzhouxing
2007-09-02
(续上篇)利用pagebus实现的具体代码,展示如下。
在user-list.js中订阅新建用户消息:
相应的onUserAddedOrUpdated实现:
user-add.js中发布新建用户消息:
利用PageBus,可以方便地实现类似.Net平台下的CAB(Composite UI Application Block)框架所提供的组合式界面,而这正时当前RIA富客户端界面所需要的技术。
在user-list.js中订阅新建用户消息:
window.PageBus.subscribe('user.add', this, onUserAddedOrUpdated, null)
相应的onUserAddedOrUpdated实现:
function onUserAddedOrUpdated(subj, msg, data) {
cId = msg.userId;
ds.reload();
}
user-add.js中发布新建用户消息:
window.PageBus.publish('user.add',{userId:newId});
利用PageBus,可以方便地实现类似.Net平台下的CAB(Composite UI Application Block)框架所提供的组合式界面,而这正时当前RIA富客户端界面所需要的技术。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 43682 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最新评论
-
用 GlassFish v2 替换 Tom ...
tomcat reloadable后gc没有进行的问题确实存在,不知道后续的版本 ...
-- by mmikey -
用 GlassFish v2 替换 Tom ...
你好 ! 一直非常欣赏这个帖子,如果你能有时间来参加GLASSFISH社区 ...
-- by judytang -
发现JavaScript中可以替代 ...
虽然效果一样.但更习惯于原始的写法.其实习惯了也一样.只是大众程序员们都不多习惯 ...
-- by ╭冷★雨╮ -
用 GlassFish v2 替换 Tom ...
怎么我在安装Glassfish执行 ant -f setup.xml 后,在bi ...
-- by goodfifa07 -
用 GlassFish v2 替换 Tom ...
terranhao 写道问题是myeclipse不支持richfaces的标签, ...
-- by gml520






评论排行榜