0

こんにちはみんな!!! データを pdf フォーマットにエクスポートするための単純なパラメーター化されたジャスパー レポートを生成しました。今、私のコードに従って、pdf ファイルが生成され、ダウンロードして自動的に開きますが、openwith または saveas を要求するには Saveas ダイアログ ボックスが必要です ...任意の提案をいただければ幸いです.. .事前に感謝..これが私のコードです...

ServletOutputStream servletOutputStream = response.getOutputStream();
InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream("para.jasper");
try {
    String name = request.getParameter("name");
    System.out.println(name);
    String query = "Select * from vikas where vikas.name='" + name + "'";
    System.out.println(query);
    Class.forName("com.mysql.jdbc.Driver");
    connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/techsoft?user=root&password=techsoft");
    statement = connection.createStatement();
    resultSet = statement.executeQuery(query);
    JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(resultSet);
    JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, new HashMap(), resultSetDataSource);
    resultSet.close();
    statement.close();
    connection.close();
    servletOutputStream.flush();
    servletOutputStream.close();
4

1 に答える 1

0

Content-Dispositionhttp ヘッダーを追加する必要があります。また、Content-Type

response.setHeader("Content-Type", "application/pdf");
response.setHeader("Content-Disposition", "inline; filename=\"" + getFileName() + "\"");
于 2012-11-22T12:49:19.183 に答える