¿Cuál es la mejor manera de utilizar Ext JS como parte de una aplicación web basada en Java/Spring/Hibernate?

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

  •  09-06-2019
  •  | 
  •  

Pregunta

Queremos probar Ext JS en un nuevo proyecto.¿Existe alguna práctica recomendada conocida para integrar Ext JS con la aplicación Java (Spring/Hibernate/JS) del lado del servidor?¿Es DWR una buena opción para eso?

¿Fue útil?

Solución

Mi equipo ha estado usando Ext con DWR durante casi un año y no ha tenido más que cosas buenas que decir.Si adopta este enfoque, terminará utilizando las clases de JavaScript generadas por DWR para realizar sus solicitudes al servidor.A menudo, esto se hará en lugar de utilizar las clases Ext.Ajax y Ext.data.Connection.Cuando usa una clase que requiere un Ext.data.Store (p. ej.grip, cuadro combinado, etc.) y desea recuperar datos del servidor, necesitará utilizar un proxy que pueda vincularse con DWR.La comunidad de usuarios proporcionada Ext.ux.data.DWRProxy ha funcionado perfectamente para nosotros: http://extjs.com/forum/showthread.php?t=23884.

Otros consejos

Si es posible.

He hecho lo mismo con .NET:UI en ext-JS que se comunica con el servidor a través de JSON.En el mundo .NET puedes usar DataContractSerializer (clase de WCF) o JavascriptSerializer (ASP.NET)

Estoy seguro de que también hay varios serializadores JSON buenos en el mundo Java.solía Jabsorb (pero no lo suficiente como para brindarle una respuesta sólida).Parece que otras personas lo han intentado:[texto del enlace][2]

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

En nuestra aplicación subclasificamos Ext.data.DataProxy como esto:

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 usas con una tienda así:

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

Nuestra clase de proxy real tiene código adicional de depuración y manejo de errores que omití por simplicidad.También es posible que necesites manipular ligeramente tus datos para que el Ext.data.JsonReader Puedo manejarlo, pero esa es la idea básica.SomeService es el nombre de JavaScript que especificaste para cualquier bean que expusiste en dwr.xml (o tu configuración de Spring).

Eche un vistazo a Grails, funciona bien con ExtJS.

Está perfectamente bien crear su aplicación usando Ext JS/DWR/Spring/Hibernate.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top