GWT и notifyAll () (java.lang.Object) - PullRequest
       28

GWT и notifyAll () (java.lang.Object)

1 голос
/ 22 сентября 2010

Я звоню в базу данных. Результат должен быть использован для формы замены. Поэтому я хочу подождать, пока не придет результат из БД. Для этого мне нужна синхронизация. Моя идея состояла в том, чтобы использовать Object.notifyAll () из java.lang, но GWT не поддерживает это. Есть ли в GWT эквивалентный метод для notifyAll ()?

edit1 : я использую gxt FormPanel для отправки данных. Я могу изменить тип buttonBar, но я думаю, addSubmitCompleteHandler не решит мою проблему.

Вот фрагмент кода:

final Button submit = new Button("Submit");
submit.addListener(Events.OnClick, new Listener<ButtonEvent>() {
    @Override
    public void handleEvent(ButtonEvent be) {
        // 1. Get the data from Database (here i must wait for the response from DB)
        // 2. Submit the form               
    }
);

final FormPanel buttonBar = new FormPanel();
buttonBar.addStyleName("abUploadField");
buttonBar.setHeaderVisible(false);
buttonBar.setBorders(false);
buttonBar.setStyleAttribute("margin", "0px");
buttonBar.setEncoding(FormPanel.Encoding.MULTIPART);
buttonBar.setMethod(FormPanel.Method.POST);
buttonBar.add(file);
buttonBar.add(submit);
buttonBar.setAction("myURL");

edit2 : Я хочу получить идентификатор последовательности из БД (это первый шаг в обработчике событий). Этот идентификатор будет использоваться для отправки. При отправке я заполняю некоторые таблицы в БД с данными. Идентификатор будет использоваться для определения того, какой пользователь начал отправку, и для этого пользователя я хочу показать диалоговое окно с сообщением «Отправить успешно». Я надеюсь, вы понимаете, что я имею в виду :) (извините, мой английский не очень хороший)

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

Как вы сказали, GWT не поддерживает Object.notifyAll().Но если вы используете FormPanel для отправки своих значений, вы можете просто addSubmitCompleteHandler и получать уведомления, когда результаты возвращаются.То же самое, если вы используете RequestBuilder - укажите RequestCallback, который будет запущен при получении ответа на запрос.

0 голосов
/ 22 сентября 2010

решение проблемы заключается в добавлении слушателя отправки (Events.Submit), который аналогичен addSubmitCompleteHandler для панели формы gwt.

...