1

次の問題があります-FormPanel引数を取り、XMLこのファイルから解析しようとするサーブレットにファイルを送信するを使用しています。これはうまくいきます。

問題は、ユーザーが間違ったファイルをアップロードしたときです。そのため、解析が終了しSAXException、クライアントに伝達 (または例外のメッセージ) したいと考えています。私は何かを試しました

catch (SAXException ex) {
    response.setStatus(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
    response.flushBuffer();
}

しかし、それは機能していません。私は常に空のタグ pre ( <pre></pre>) を取得します。私はこれをキャッチしようとしています

formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

    @Override
    public void onSubmitComplete(SubmitCompleteEvent event) {
        String s = event.getResults();
    });

サーブレットで使用できますresponse.getWriter().write("Error");が、エラーが実際に発生したかどうかをクライアントがどのように知ることができますか?のようなものを使用することevent.getResults().contains("error")は、正しい解決策とは思えません。

だから私は使用することを考えてRequestBuilderいますが、アップロードされたファイルを取得してサーブレットにプッシュする方法がわかりません。または、私のメッセージをに変換するJSONと役立つでしょうか?

4

1 に答える 1

1

Google gwt ディスカッション グループのこのスレッドを参照してください。あなたが説明した方法を解析しevent.getResults()て、エラーがあったかどうか、または成功した場合の結果を判断することは、野蛮に見えるかもしれませんが、正しい方法です。

リンクされたディスカッションで提案されているように、GWT アップロードでよりクリーンなコードを調べたり、進行状況情報をアップロードしたりできます。Web ページからサーバーにファイルをアップロードするための唯一の 2 つのオプションは、フォームまたは Flash だと思います。

于 2012-06-26T14:10:36.470 に答える