4

重複の可能性:
サーブレットが PDF をストリーミングしたブラウザ ページのタイトルを変更するには?

ブラウザーで PDF ファイルを表示したいので、PDF を応答出力ストリームに送信します。ヘッダーを設定しました:

response.setHeader("Content-Disposition", "inline; filename=\"" + getFileName() + "\"");

しかし、ブラウザのタイトルに問題があります。FireFox 表示サーブレットのタイトル。

4

2 に答える 2

1

ブラウザのアドレス バーに表示されるリクエスト URL には、PDF ファイル名が含まれている必要があります。これは、PDF サーブレットを as/pdf/*のような静的パスの代わりにas のようなプレフィックス URL パターンにマップして、など/pdfでも呼び出せるようにすると簡単です。/pdf/blahblah/pdf/foo.ext

例えば

<a href="pdf/filename.pdf">

と組み合わせて

@WebServlet("/pdf/*")
public class PdfServlet extends HttpServlet {

    @Override
    public void doGet(...) {
        String filename = request.getPathInfo().substring(1); // filename.pdf
        // ...
    }

}

追加の利点は、IE ブラウザーの名前を付けて保存するファイル名も修正されることです。つまり、そのブラウザは、コンテンツ処理ヘッダーからではなく、リクエスト URL の最後のパスからそれを抽出します。

于 2012-09-11T12:50:51.950 に答える
-3

生成されたページのタイトルを設定する必要がある場合HTML:-

これを試して :

out.println("  <HEAD><TITLE>Your Title for browser</TITLE></HEAD>");

でこれを使用しservletます。次にservlet、動的ページを生成します。上記のコードは、ページにタイトルを追加します。

于 2012-09-11T12:23:42.633 に答える