2011-04-13 4 views
0

REST를 사용하여 외부 서버에서 데이터를 검색하는 간단한 GXT 애플리케이션을 얻으려고합니다.Ext-GWT (GXT) 단순 REST 시도가 작동하지 않습니다.

나는 다음과 같은 것을 발견했으며, 내 인생에서 내 테이블이 채워지지 않는 이유를 이해할 수 없다. 마치 데이터가 검색되지 않는 것처럼 보입니다. 나는 어떤 도움을 주셔서 감사합니다! 고맙습니다.

/* 
* Ext GWT 2.2.3 - Ext for GWT 
* Copyright(c) 2007-2010, Ext JS, LLC. 
* [email protected] 
* 
* http://extjs.com/license 
*/ 
package com.extjs.gxt.samples.mail.client.widget; 


import java.util.ArrayList; 
import java.util.List; 

import com.extjs.gxt.ui.client.Style.HorizontalAlignment; 
import com.extjs.gxt.ui.client.Style.Orientation; 
import com.extjs.gxt.ui.client.data.BaseListLoader; 
import com.extjs.gxt.ui.client.data.HttpProxy; 
import com.extjs.gxt.ui.client.data.ModelData; 
import com.extjs.gxt.ui.client.data.ModelType; 
import com.extjs.gxt.ui.client.data.XmlReader; 
import com.extjs.gxt.ui.client.store.ListStore; 
import com.extjs.gxt.ui.client.widget.ContentPanel; 
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; 
import com.extjs.gxt.ui.client.widget.grid.ColumnModel; 
import com.extjs.gxt.ui.client.widget.grid.Grid; 
import com.extjs.gxt.ui.client.widget.layout.RowLayout; 
import com.google.gwt.http.client.RequestBuilder; 


public class ContactPanel extends ContentPanel { 

    @SuppressWarnings("rawtypes") 
public ContactPanel() { 


     setHeading("Contacts");  
     setStyleAttribute("margin", "5px"); 
     setHeaderVisible(true); 
     setBodyBorder(true); 

     setAutoHeight(true); 
     setLayout(new RowLayout(Orientation.VERTICAL)); 


     List<ColumnConfig> configs = new ArrayList<ColumnConfig>(); 
     configs.add(new ColumnConfig("departureCity", "From", 120)); 
     configs.add(new ColumnConfig("arrivalCity", "To", 120)); 

     ColumnConfig config = new ColumnConfig("departureTime", "departureTime", 150); 
     config.setAlignment(HorizontalAlignment.LEFT); 
     configs.add(config); 

     configs.add(new ColumnConfig("arrivalTime", "Arrivaltime", 150)); 
     configs.add(new ColumnConfig("flightNo", "Flightnr", 70)); 
     config = new ColumnConfig("price", "Price", 120); 
     config.setAlignment(HorizontalAlignment.LEFT); 
     configs.add(config); 

     ColumnModel cm = new ColumnModel(configs); 



     ModelType type = new ModelType(); 
     type.setRoot("flightList"); 
     type.setRecordName("flight"); 

     type.addField("departureCity"); 
     type.addField("arrivalCity"); 
     type.addField("departureTime"); 
     type.addField("arrivalTime"); 
     type.addField("flightNo"); 
     type.addField("price"); 

     // use a http proxy to get the data 
     RequestBuilder builder = new RequestBuilder(
       RequestBuilder.GET, 
       //"/flights.xml"); 
       "http://tutorialsjava.com/demo/flights.xml"); 
     HttpProxy proxy = new HttpProxy(builder); 

     // need a loader, proxy, and reader 
     XmlReader reader = new XmlReader(type); 

     final BaseListLoader loader = new BaseListLoader(proxy, reader); 

     ListStore<ModelData> store = new ListStore<ModelData>(loader); 
     final Grid grid = new Grid<ModelData>(store, cm); 

     grid.setStyleAttribute("borderTop", "none");  
     grid.setBorders(true); 
     grid.setStripeRows(true); 
     grid.setAutoWidth(true); 
     grid.setHeight(160); 
     grid.getView().setForceFit(true); 

     loader.setRemoteSort(true); 
     loader.load(); 

     add(grid); 

     } 




} 
+0

HttpProxy.java에서 디버깅로드 메소드를 사용해 보셨습니까? – DonX

답변

1

여러분의 코드가 도메인 간 요청을하는 것으로 보입니다. 따라서 ScriptTagProxy 클래스를 사용하면 더 적합합니다. GXT 문서 상태 :

주 당신은 하지 실행 페이지의 원래 도메인과 같은, 당신은에서 httpProxy보다는,이 클래스를 사용해야하는 도메인에있는 페이지에서 데이터를 검색하는 경우 .

관련 문제