ما هي أفضل طريقة لاستخدام Ext JS كجزء من تطبيق الويب المستند إلى Java / Spring / Hibernate؟

StackOverflow https://stackoverflow.com/questions/70785

  •  09-06-2019
  •  | 
  •  

سؤال

نريد تجربة Ext JS في مشروع جديد.هل هناك أي أفضل الممارسات المعروفة لدمج Ext JS مع تطبيق Java (Spring/Hibernate/JS) من جانب الخادم؟هل DWR خيار جيد لذلك؟

هل كانت مفيدة؟

المحلول

لقد كان فريقي يستخدم Ext مع DWR لمدة عام تقريبًا، ولم يكن لديه سوى الأشياء الجيدة ليقولها.إذا اتبعت هذا الأسلوب، فسوف ينتهي بك الأمر باستخدام فئات JavaScript التي تم إنشاؤها بواسطة DWR لتقديم طلباتك إلى الخادم.سيتم ذلك غالبًا بدلاً من استخدام الفئتين Ext.Ajax وExt.data.Connection.عند استخدام فئة تتطلب Ext.data.Store (على سبيل المثال.grip، ومربع التحرير والسرد، وما إلى ذلك) وتريد جلب البيانات من الخادم، فستحتاج إلى استخدام وكيل يمكنه الارتباط بـ DWR.لقد عمل مجتمع المستخدمين المقدم Ext.ux.data.DWRProxy بشكل لا تشوبه شائبة بالنسبة لنا: http://extjs.com/forum/showthread.php?t=23884.

نصائح أخرى

انه من الممكن.

لقد فعلت نفس الشيء مع .NET:واجهة المستخدم في ext-JS التي تتواصل مع الخادم من خلال JSON.في عالم .NET، يمكنك استخدام DataContractSerializer (فئة من WCF) أو JavascriptSerializer (ASP.NET)

أنا متأكد من وجود العديد من برامج JSON Serializer الجيدة في عالم Java أيضًا.إستعملت جابسرب (ولكن ليس بما يكفي لإعطائك ردود فعل قوية).يبدو أن أشخاصًا آخرين حاولوا:[رابط النص] [2]

[2]: http://extjs.com/forum/showthread.php?t=30759 منتدى تحويلة-js

في تطبيقنا نحن فئة فرعية 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 هو اسم JavaScript الذي حددته لأي حبة قمت بعرضها في dwr.xml (أو تكوين Spring الخاص بك).

ألق نظرة على Grails، فهو يعمل بشكل جيد مع ExtJS.

من الجيد تمامًا إنشاء تطبيقك باستخدام Ext JS/DWR/Spring/Hibernate.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top