我们想在新项目中尝试Ext JS。对于将Ext与服务器端Java (Spring/Hibernate/ JS )应用程序集成,有什么众所周知的最佳实践吗?DWR是一个很好的选择吗?
发布于 2008-09-17 16:18:55
我的团队使用Ext和DWR已经快一年了,除了好话没什么可说的。如果采用这种方法,最终将使用DWR生成的JavaScript类向服务器发出请求。这通常会用来代替使用Ext.Ajax和Ext.data.Connection类。当您使用需要Ext.data.Store的类时(例如,夹点、组合框等)如果您想要从服务器获取数据,则需要使用可以与DWR链接的代理。为我们提供的用户社区http://extjs.com/forum/showthread.php?t=23884为我们提供了完美的工作。
发布于 2008-09-16 10:25:21
是的这是可能的。
我用ext-JS中的.NET : UI做了同样的事情,它通过JSON与服务器通信。在.NET世界中,您可以使用DataContractSerializer (来自WCF的类)或JavascriptSerializer (ASP.NET)
我确信在Java世界中也有几个很好的JSON序列化程序。我使用了Jabsorb (但还不足以给你一个可靠的反馈)。似乎其他人已经尝试过:链接文本
发布于 2008-09-16 17:48:36
在我们的应用程序中,我们像这样继承了Ext.data.DataProxy:
var MyProxy = function(fn) {
this.fn = fn;
};
Ext.extend( MyProxy, Ext.data.DataProxy, {
load: function(params,reader,callback,scope,arg) {
this.fn(params,function(data) {
callback.call(scope,reader.readRecords(data),arg,true);
});
},
update: function() {}
});
在商店中使用它,如下所示:
var store = new Ext.data.Store({
reader: myReader, proxy: new MyProxy(function(params,callback) {
// params are used for paging and searching, if you need it
callback(SomeService.getData(params));
})
// ...
});
我们实际的代理类有一些额外的调试和错误处理代码,为了简单起见,我省略了这些代码。您可能还需要稍微操作您的数据,以便Ext.data.JsonReader能够处理它,但这是基本思想。SomeService是您为在dwr.xml (或Spring配置)中公开的任何bean指定的JavaScript名称。
https://stackoverflow.com/questions/70785
复制相似问题