データベースを呼び出しています。結果はサブビット フォームに使用する必要があります。だからDBからの結果が来るまで待ちたい。そのためには、同期が必要です。私の考えは、java.lang の Object.notifyAll() を使用することでしたが、GWT はこれをサポートしていません。notifyAll() の GWT に同等のメソッドはありますか?
edit1 : gxt FormPanel を使用してデータを送信しています。ボタンバーのタイプを変更できますが、 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 : DB からシーケンス ID を取得したい (これは、イベント ハンドラーのステップ 1 です)。この ID は送信に使用されます。送信時に、DB のいくつかのテーブルにデータを入力しています。ID は、どのユーザーが送信を開始したかを識別するために使用され、このユーザーに対して、「送信が成功しました」というメッセージを含むダイアログを表示したいと考えています。私が言いたいことを理解していただければ幸いです:) (申し訳ありませんが、私の英語は苦手です)