Qual é a melhor maneira de usar o Ext JS como parte do Java / Spring / Hibernate aplicação web com?
-
09-06-2019 - |
Pergunta
Queremos tentar Ext JS no novo projeto.Existe algum conhecido de melhores práticas para a integração de Ext JS com o servidor Java (Spring/Hibernate/JS) aplicação?É DWR uma boa escolha para que?
Solução
A minha equipa tem vindo a utilizar Ext com DWR para quase um ano de um ano, e não tinha nada além de coisas boas a dizer.Se você seguir essa abordagem, você vai acabar usando o CPF é gerado classes JavaScript para fazer suas solicitações para o servidor.Muitas vezes, esta será feito no lugar de usar o Ext.Ajax e Ext.dados.Conexão de classes.Quando você usa uma classe que exigem uma Ext.dados.De armazenamento (e.g.aderência, caixa de combinação, etc.) e o que você deseja buscar dados a partir do servidor, você vai precisar usar um proxy pode ligar com o DWR.A comunidade de usuários desde Ext.ux.dados.DWRProxy funcionou perfeitamente para nós: http://extjs.com/forum/showthread.php?t=23884.
Outras dicas
Sim, é possível.
Eu tenho feito a mesma coisa .NET :A INTERFACE do usuário em ext-JS, que se comunica com o servidor da calha do JSON.Em .NET world você pode usar o DataContractSerializer (classe de WCF) ou JavascriptSerializer (ASP.NET)
Tenho certeza de que há várias boas Serializador JSON no mundo Java também.Eu usei Jabsorb (mas não o suficiente para lhe dar um feedback contínuo).Parece que outras pessoas têm tentado :[link texto][2]
[2]: http://extjs.com/forum/showthread.php?t=30759 fórum ext-js
Em nossa aplicação, nós subclasse Ext.dados.DataProxy como esta:
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() {}
});
Você usá-lo com uma loja assim:
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));
})
// ...
});
A nossa classe de proxy tem alguns adicionais de depuração e código de tratamento de erros que eu deixei de fora para manter a simplicidade.Você também pode precisar de manipular seus dados ligeiramente, de modo a que o Ext.dados.JsonReader pode lidar com isso, mas essa é a idéia básica.SomeService é o JavaScript nome que você especificou para qualquer feijão expostos na dwr.xml (ou sua Primavera config).
Dê uma olhada no Grails, ele joga bem em conjunto com o ExtJS.
É perfeitamente possível criar o seu aplicativo usando Ext JS/DWR/Spring/Hibernate.