第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

是否可以將 jasper report 與 java 一起使用,使其像瀏覽器窗口中的彈出窗口一樣?

是否可以將 jasper report 與 java 一起使用,使其像瀏覽器窗口中的彈出窗口一樣?

寶慕林4294392 2023-08-04 16:24:59
我正在使用 Jasper 報(bào)告和 java。我想讓導(dǎo)出文件在作為網(wǎng)絡(luò)應(yīng)用程序啟動(dòng)時(shí)詢問下載位置。我現(xiàn)在正在做的是。我給出了要在某個(gè)位置導(dǎo)出的文件(PDF、DOCX、XLS)的路徑。我需要的是,瀏覽器應(yīng)該像 Firefox 一樣彈出一個(gè)窗口并要求下載文件位置。我已經(jīng)在java應(yīng)用程序中通過提供路徑完成了它,Connection conn = null;    ResultSet rs = null;    JasperReport jasperReport = null;    JasperPrint print = null;    String filename = "Report.pdf";    String query = "{CALL get_report_data()}";    try {        if (conn == null)         {            String hostName = "localhost";            String dbName = "test";            String userName = "root";            String password = "root";            try {                Class.forName("com.mysql.cj.jdbc.Driver");                String connectionURL = "jdbc:mysql://" + hostName + ":3306/" + dbName;                conn = DriverManager.getConnection(connectionURL, userName, password);            } catch (Exception e) {                System.out.println(e);            }        }        CallableStatement cstmt = conn.prepareCall(query);        rs = cstmt.executeQuery();        JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs);        jasperReport = JasperCompileManager                .compileReport("E:\\Eclipse 2019-03 Workspace\\Report\\static_land_report.jrxml");        Map<String, Object> parameters = new HashMap<String, Object>();        print = JasperFillManager.fillReport(jasperReport, parameters, resultSetDataSource);JasperExportManager.exportReportToPdfFile(print, "E:\Eclipse 2019-03 Workspace\Report\static_land_report.pdf");現(xiàn)在,我希望上面的代碼在網(wǎng)絡(luò)應(yīng)用程序中完成,并且不提供路徑。
查看完整描述

2 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

按照以下步驟嘗試一下。

  • 轉(zhuǎn)到 iReport 中的存儲(chǔ)庫選項(xiàng)卡

  • 選擇保存輸入控件的文件夾

  • 右鍵單擊該文件夾,選擇添加 -> inputcontrol

  • 在 id 字段中,輸入您的參數(shù)名稱(必須與 $P{} 之間的值完全相同)

  • 給它一個(gè)提示名稱

  • 在輸入控件詳細(xì)信息選項(xiàng)卡中,選擇單個(gè)值,然后選擇數(shù)據(jù)類型(您可以在 iReport 中以相同的方式創(chuàng)建數(shù)據(jù)類型)

  • 然后轉(zhuǎn)到報(bào)表文件夾,在輸入控制圖上右鍵單擊并選擇鏈接現(xiàn)有輸入控件,然后選擇剛剛創(chuàng)建的輸入控件。


查看完整回答
反對(duì) 回復(fù) 2023-08-04
?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

但是,我找到了解決方案。


package com.report.java;


import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.ResultSet;

import java.util.HashMap;


import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import net.sf.jasperreports.engine.JRResultSetDataSource;

import net.sf.jasperreports.engine.JasperCompileManager;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.export.JRPdfExporter;

import net.sf.jasperreports.export.SimpleExporterInput;

import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput;


public class PdfReportDownload extends HttpServlet {

    private static final long serialVersionUID = 1L;


    public PdfReportDownload() {

        super();

    }


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        try 

        {

            generatePdfReport(response);

        } 

        catch (Exception e) {

            e.printStackTrace();

        }


    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doGet(request, response);

    }


    public void generatePdfReport(HttpServletResponse response) 

    {

        try 

        {

            Connection conn=null;

            ResultSet rs=null;

            JasperReport jasperReport = null;

            String query ="{CALL get_report_data()}";

            try 

            {   

                if(conn==null)

                {

                    try 

                    {

                        conn= MySQLConnection.getConnection();


                    } 

                    catch (Exception ex) {

                        ex.printStackTrace();

                    }

                }   

            CallableStatement cstmt = conn.prepareCall(query);


            rs = cstmt.executeQuery();


            JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs);  


            jasperReport = JasperCompileManager.compileReport("E:\\Eclipse 2019-03 Workspace\\Report_Download\\static_land_report.jrxml");

            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap <String, Object>(), resultSetDataSource);


            JRPdfExporter pdfExporter = new JRPdfExporter();

            pdfExporter.setExporterInput(new SimpleExporterInput(jasperPrint));

            ByteArrayOutputStream pdfReportStream = new ByteArrayOutputStream();

            pdfExporter.setExporterOutput(new SimpleOutputStreamExporterOutput(pdfReportStream));

            pdfExporter.exportReport();


            response.setContentType("application/pdf");

            response.setHeader("Content-Length", String.valueOf(pdfReportStream.size()));

            response.addHeader("Content-Disposition", "attachment; filename=Report.pdf;");


            OutputStream responseOutputStream = response.getOutputStream();

            responseOutputStream.write(pdfReportStream.toByteArray());

            responseOutputStream.close();

            pdfReportStream.close();

        } 

        catch (Exception e) 

        {

                System.out.println(e);

        }

        }

        catch(Exception e) 

        {

            System.out.println(e);

        }

    }


}

調(diào)用此 servlet 時(shí),將下載報(bào)告


查看完整回答
反對(duì) 回復(fù) 2023-08-04
  • 2 回答
  • 0 關(guān)注
  • 147 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)