Qual è il modo migliore per utilizzare Ext JS come parte di un'applicazione web basata su Java/Spring/Hibernate?

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

  •  09-06-2019
  •  | 
  •  

Domanda

Vogliamo provare Ext JS su un nuovo progetto.Esistono best practice note per l'integrazione di Ext JS con l'applicazione Java (Spring/Hibernate/JS) lato server?Il DWR è una buona scelta per questo?

È stato utile?

Soluzione

Il mio team utilizza Ext con DWR da quasi un anno e non ha avuto altro che cose positive da dire.Se segui questo approccio, finirai per utilizzare le classi JavaScript generate da DWR per effettuare le tue richieste al server.Questo verrà spesso fatto al posto dell'utilizzo delle classi Ext.Ajax e Ext.data.Connection.Quando usi una classe che richiede un Ext.data.Store (ad es.grip, casella combinata, ecc.) e desideri recuperare i dati dal server, dovrai utilizzare un proxy che possa collegarsi a DWR.La comunità di utenti fornita da Ext.ux.data.DWRProxy ha funzionato perfettamente per noi: http://extjs.com/forum/showthread.php?t=23884.

Altri suggerimenti

Si è possibile.

Ho fatto la stessa cosa con .NET:UI in ext-JS che comunica con il server tramite JSON.Nel mondo .NET puoi utilizzare DataContractSerializer (classe da WCF) o JavascriptSerializer (ASP.NET)

Sono sicuro che ci siano molti buoni serializzatori JSON anche nel mondo Java.ero solito Jabsorb (ma non abbastanza per darti un feedback solido).Sembra che altre persone abbiano provato:[testo del collegamento] [2]

[2]: http://extjs.com/forum/showthread.php?t=30759 forum ext-js

Nella nostra applicazione sottoclassiamo Dati est.DataProxy come questo:

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() {}
});

Lo usi con un negozio in questo modo:

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));
  })
  // ...
});

La nostra attuale classe proxy ha del codice aggiuntivo di debug e gestione degli errori che ho tralasciato per semplicità.Potrebbe anche essere necessario manipolare leggermente i dati in modo che Ext.data.JsonReader può gestirlo, ma questa è l'idea di base.SomeService è il nome JavaScript che hai specificato per qualunque bean hai esposto in dwr.xml (o nella tua configurazione Spring).

Dai un'occhiata a Grails, funziona bene insieme a ExtJS.

È perfettamente corretto creare la tua applicazione utilizzando Ext JS/DWR/Spring/Hibernate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top