在EXT中直接使用DWR
2009-03-14 21:12
190 查看
据不完全统计,从事Ajax开发的Java程序员有一大半都使用DWR。我们下面来介绍一下如何在EXT中使用DWR与后台交互。
10.10.1 在EXT中直接使用DWR
因为DWR在前台的表现形式和普通的JavaScript完全一样,所以我们不需要特地去做些什么,直接使用EXT调用DWR生成的JavaScript函数即可。以Grid为例,比如现在我们要显示一个通讯录的信息,后台记录的数据有:id、name、sex、email、tel、addTime和descn。编写对应的POJO,代码如下所示。
然后编写操作POJO的manager类,代码如下所示。
代码部分有些删减,我们只保留了其中的关键部分,就这样把这两个类配置到dwr.xml中,让前台可以对这些类进行调用。
下面是EXT与DWR交互的关键部分,我们要对JavaScript部分做如下修改,如代码清单10-7所示。
代码清单10-7 使用EXT调用DWR
注意,执行infoManager.getResult()函数时,DWR就会使用Ajax去后台取数据了,操作成功后调用我们定义的匿名回调函数。在这里我们只做一件事,那就是将返回的data直接注入到ds中。
DWR返回的data可以被JsonStore直接读取,我们需要设置对应的fields参数,以告诉JsonReader需要哪些属性。
在这里,EXT和DWR两者之间没有任何关系,将它们任何一方替换掉都可以。实际上它们只是在一起运行,并没有整合。我们给出的这个示例也是说明了一种松耦合的可能性,实际操作中完全可以使用这种方式。
10.10.1 在EXT中直接使用DWR
因为DWR在前台的表现形式和普通的JavaScript完全一样,所以我们不需要特地去做些什么,直接使用EXT调用DWR生成的JavaScript函数即可。以Grid为例,比如现在我们要显示一个通讯录的信息,后台记录的数据有:id、name、sex、email、tel、addTime和descn。编写对应的POJO,代码如下所示。
public class Info { long id; String name; int sex; String email; String tel; Date addTime; String descn; } |
public class InfoManager { private List infoList = new ArrayList(); public List getResult() { return infoList; } } |
下面是EXT与DWR交互的关键部分,我们要对JavaScript部分做如下修改,如代码清单10-7所示。
代码清单10-7 使用EXT调用DWR
var cm = new Ext.grid.ColumnModel([ {header:'编号',dataIndex:'id'}, {header:'名称',dataIndex:'name'}, {header:'性别',dataIndex:'sex'}, {header:'邮箱',dataIndex:'email'}, {header:'电话',dataIndex:'tel'}, {header:'添加时间',dataIndex:'addTime'}, {header:'备注',dataIndex:'descn'} ]); var store = new Ext.data.JsonStore({ fields: ["id","name","sex",'email','tel','addTime','descn'] }); // 调用DWR取得数据 infoManager.getResult(function(data) { store.loadData(data); }); var grid = new Ext.grid.GridPanel({ renderTo: 'grid', store: store, cm: cm }); |
DWR返回的data可以被JsonStore直接读取,我们需要设置对应的fields参数,以告诉JsonReader需要哪些属性。
在这里,EXT和DWR两者之间没有任何关系,将它们任何一方替换掉都可以。实际上它们只是在一起运行,并没有整合。我们给出的这个示例也是说明了一种松耦合的可能性,实际操作中完全可以使用这种方式。
相关文章推荐
- 在EXT中直接使用DWR调用后台Java方法
- spring与dwr整合实现js直接使用java代码
- Ext+dwr的使用
- 秀一下正在使用Ext+Dwr开发的一个项目
- 为什么Ext中不能直接使用赋值更换panel的store
- Ext.Net 1.2.0_Ext.Net 中可以直接使用 Ext JS 的方法和属性
- Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知
- 使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之用户管理(1)
- 直接使用sql语句查询数据库数据
- 【JavaWeb开发】MD5加密算法(直接使用java中的MessageDigest)
- 关于在函数中使用Array.prototype.slice.call而不是直接用slice
- x86中,console下直接使用framebuffer播放视频
- 使用GHost备份系统后开机无法直接进入系统,开机选择界面乱码,按几下回车键选择系统才能进入的解决办法
- 转:使用IL的方式直接跟踪exception到行的方法
- Ext.TabPanel 的使用
- DWR - Direct Web Remoting 实际使用
- DWR使用总结
- [Extjs6]浅谈Ext.data.Store的使用.
- DWR框架搭建以及使用
- DWR使用入门