reportgenerator.java

来自「iReport 和 Jasperreport整合开发web报表1」· Java 代码 · 共 48 行

JAVA
48
字号
package net.ensode.jsf;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.HashMap;import javax.faces.context.FacesContext;import javax.faces.event.ActionEvent;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JasperRunManager;public class ReportGenerator{  public void generateReport(ActionEvent actionEvent)      throws ClassNotFoundException, SQLException, IOException, JRException  {    Connection connection;    FacesContext context = FacesContext.getCurrentInstance();    HttpServletResponse response = (HttpServletResponse) context        .getExternalContext().getResponse();    InputStream reportStream = context.getExternalContext()        .getResourceAsStream("/reports/DbReport.jasper");    ServletOutputStream servletOutputStream = response.getOutputStream();    Class.forName("com.mysql.jdbc.Driver");    connection = DriverManager        .getConnection("jdbc:mysql://localhost:3306/flightstats?user=root&password=password");    JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream,        new HashMap(), connection);    connection.close();    response.setContentType("application/pdf");    servletOutputStream.flush();    servletOutputStream.close();  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?