-3

Excelファイルをダウンロードするjsfで警告メッセージを表示したい。

ユーザーがダウンロードできるだけでなく、10000を超えるレコードを持つExcelをダウンロードするときに、jsfに警告メッセージを表示したい

4

1 に答える 1

1

1 つの要求に対して複数の応答を送信することはできません。要求ごとに 1 つの応答のみを返すことができます。したがって、警告メッセージとダウンロード用のファイルを送信できるようにするために、クライアントは基本的に 2 つの要求を送信する必要があります。

最初のリクエストでファイルのサイズをチェックし、それに応じてメッセージを設定するのが最も簡単です。

public void submit() {
    excelFile = prepareExcelFile();

    if (excelFile.getRecordCount() > 10000) {
        addGlobalWarn("It's more than 1000 records! It can take quite some time.");
    }
}

そして、フォームを送信してwindow.location、Excel ファイルの正確な URL で条件付きで JS 呼び出しをレンダリングします。

<h:outputScript rendered="#{not empty bean.excelFile}">
    window.location = '#{excelFile.url}';
</h:outputScript>
于 2013-02-07T15:09:38.330 に答える