1

サーブレットが転送を行った後、jsp ページのコンテンツを取得するにはどうすればよいですか。それらの瞬間、私は次のことを試みています:

request.getRequestDispatcher(DESTINATION_PAGE).forward(request, response);
URL teamsURL = new URL(request.getScheme(), request.getServerName(), request.getServerPort(), request.getContextPath() + DESTINATION_PAGE);
URLConnection teamsCon = teamsURL.openConnection();
String fileName = request.getServletContext().getRealPath("/") + System.currentTimeMillis() + ".html";
System.out.println(fileName);
try (BufferedReader in = new BufferedReader(new InputStreamReader(teamsCon.getInputStream()));
     PrintWriter out = new PrintWriter(fileName)) {
    String inputLine = null;
    while ((inputLine = in.readLine()) != null) {
        out.println(inputLine);
    }
}

空の div を含む html を取得します。しかし、ブラウザに表示されるのと同じページが必要です。

乱雑な投稿で申し訳ありません。必要な情報をお尋ねください。それに応じて投稿を更新します。

4

1 に答える 1

2

レスポンス本文を書き込んだ後でそれを取得しようとしている場合はHttpServletResponseOutputStream直接またはWriter.

Filterリターン後にサーブレットでこれを行いchain.doFilter(request, yourResponseWrapper)ます。簡単な例はここにあります。

于 2013-10-01T19:51:01.997 に答える