Возвращение JSON в GWT - PullRequest
       23

Возвращение JSON в GWT

1 голос
/ 01 февраля 2009

Я все еще довольно плохо знаком с JSON и GWT и пытаюсь выяснить, как передать данные JSON со страницы в мое приложение GWT. Я передаю JSON обратно в класс:

public class GetProductTree extends JavaScriptObject {

    protected GetProductTree() { }

    public final native String getCustomerName() /*-{ return this.customername;  }-*/;

}

Это довольно просто и не завершено в данный момент, поэтому я просто пытаюсь (пока) убедиться, что смогу что-нибудь вернуть.

Код для вызова этого:

submitProject.addClickListener(new ClickListener() {
            public void onClick(Widget w) {
                RequestBuilder.Method method=RequestBuilder.GET;
                final String url1 = "http://localhost:8500/getProducts.cfm";
                //Window.alert(url1);
                RequestBuilder rb = new RequestBuilder(method, url1);

                try {
                    rb.sendRequest(null, new RequestCallback() {
                        public void onResponseReceived(Request request, Response response) {
                            JSONObject oResults = (JSONObject) JSONParser.parse(response.getText());
                            GetProductTree oResponse = oResults.isObject().getJavaScriptObject().cast();
                            Window.alert(oResponse.getCustomerName());
                        }

                        public void onError(Request arg0, Throwable arg1) {
                            Window.alert("error");
                        }
                    });
                } catch (RequestException e) {

                } 
            } 
        });

Однако я получаю сообщение об ошибке:

Исходный код для типа недоступен XYZ.GetProductTree; сделал Вы забыли унаследовать необходимый модуль

Я импортирую правильный пакет для XYZ.GetProductTree на странице вызова. Чего мне не хватает?

Ответы [ 2 ]

2 голосов
/ 01 февраля 2009

Эта ошибка от компилятора, который жалуется, что не может найти этот тип в своем classpath. Чтобы компилятор GWT нашел ваши классы, они должны быть и в вашем пути к классам, и на них также должна быть ссылка в файле модуля .gwt.xml. Можете ли вы публиковать имена ваших пакетов и содержимое ваших файлов .gwt.xml? Я предполагаю, что где бы вы ни поместили этот класс, он не виден компилятору GWT.

0 голосов
/ 02 февраля 2009

Иногда я такой тупой. Я забыл о необходимости добавить исходный путь для моего нового пакета. Я добавил это в пакет данных, который я только что создал, и не добавил путь к XML. Спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...