3

Ext JS を新しいプロジェクトで試してみたい。Ext JS をサーバー側の Java (Spring/Hibernate/JS) アプリケーションと統合するためのよく知られたベスト プラクティスはありますか? DWRはそのための良い選択ですか?

4

5 に答える 5

7

私のチームは、DWR で Ext をほぼ 1 年間使用しており、良いことしか言えません。このアプローチを採用すると、DWR が生成した JavaScript クラスを使用して、サーバーへのリクエストを作成することになります。これは、Ext.Ajax および Ext.data.Connection クラスを使用する代わりに行われることがよくあります。Ext.data.Store を必要とするクラス (グリップ、コンボ ボックスなど) を使用し、サーバーからデータを取得する場合は、DWR とリンクできるプロキシを使用する必要があります。Ext.ux.data.DWRProxy が提供するユーザー コミュニティは、問題なく動作しました: http://extjs.com/forum/showthread.php?t=23884

于 2008-09-17T16:18:54.903 に答える
1

このアプリケーションでは、次のように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 名です。

于 2008-09-16T17:48:36.270 に答える
1

はい、可能です。

私は .NET で同じことをしました: JSON を介してサーバーと通信する ext-JS の UI。.NET の世界では、DataContractSerializer (WCF のクラス) または JavascriptSerializer (ASP.NET) を使用できます。

Java の世界にも優れた JSON シリアライザーがいくつかあると確信しています。私はJabsorbを使用しました (ただし、確かなフィードバックを与えるには十分ではありません)。他の人が試したようです: [リンクテキスト][2]

[2]: http://extjs.com/forum/showthread.php?t=30759フォーラム ext-js

于 2008-09-16T10:25:20.580 に答える
0

Grails を見てみましょう。ExtJS とうまく連携します。

于 2010-05-23T16:22:32.900 に答える
-1

Ext JS / DWR / Spring/Hibernateを使用してアプリケーションをビルドすることはまったく問題ありません。

于 2008-09-16T10:09:54.157 に答える