Java/Spring/Hibernate 기반 웹 애플리케이션의 일부로 Ext JS를 사용하는 가장 좋은 방법은 무엇입니까?

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

  •  09-06-2019
  •  | 
  •  

문제

우리는 새로운 프로젝트에서 Ext JS를 사용해 보고 싶습니다.Ext JS를 서버측 Java(Spring/Hibernate/JS) 애플리케이션과 통합하는 잘 알려진 모범 사례가 있습니까?DWR이 좋은 선택인가요?

도움이 되었습니까?

해결책

우리 팀은 거의 1년 동안 DWR과 함께 Ext를 사용해 왔으며 좋은 점만 언급했습니다.이 접근 방식을 사용하면 서버에 요청하기 위해 DWR에서 생성된 JavaScript 클래스를 사용하게 됩니다.이는 Ext.Ajax 및 Ext.data.Connection 클래스를 사용하는 대신 수행되는 경우가 많습니다.Ext.data.Store가 필요한 클래스를 사용할 때(예:그립, 콤보 상자 등) 서버에서 데이터를 가져오려면 DWR과 연결할 수 있는 프록시를 사용해야 합니다.Ext.ux.data.DWRProxy가 제공하는 사용자 커뮤니티는 우리를 위해 완벽하게 작동했습니다. http://extjs.com/forum/showthread.php?t=23884.

다른 팁

네, 가능합니다.

.NET에서도 동일한 작업을 수행했습니다.JSON을 통해 서버와 통신하는 ext-JS의 UI입니다..NET 환경에서는 DataContractSerializer(WCF의 클래스) 또는 JavascriptSerializer(ASP.NET)를 사용할 수 있습니다.

Java 세계에도 좋은 JSON Serializer가 여러 개 있을 것이라고 확신합니다.나는 사용했다 자브소브 (그러나 확실한 피드백을 제공하기에는 충분하지 않습니다).다른 사람들이 시도한 것 같습니다.[링크 텍스트][2]

[2]: http://extjs.com/forum/showthread.php?t=30759 포럼 ext-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는 dwr.xml(또는 Spring 구성)에 노출된 모든 빈에 대해 지정한 JavaScript 이름입니다.

Grails를 살펴보세요. ExtJS와 함께 잘 작동합니다.

Ext JS/DWR/Spring/Hibernate를 사용하여 애플리케이션을 구축하는 것은 완벽합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top