При создании отчетов с использованием DynamicJasper 5.1.1 Я получаю набор результатов из источника данных, мой PDF-файл пуст после генерации, не уверен, почему мой PDF-файл становится пустым.
Iвзял код ссылки от здесь .Ниже приведен мой код:
import ar.com.fdvs.dj.core.DynamicJasperHelper;
import ar.com.fdvs.dj.core.layout.ClassicLayoutManager;
import ar.com.fdvs.dj.domain.DynamicReport;
import ar.com.fdvs.dj.domain.builders.FastReportBuilder;
import net.sf.jasperreports.engine.*;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class DynamicJDBCReportHandler {
static String username = "mnbfmwemf";
static String password = "fwfwfwf";
public static void main(String[] args) {
DynamicJDBCReportHandler drh = new DynamicJDBCReportHandler();
drh.getResultSet();
}
public Map<String, Object> getResultSet() {
Connection connection = null;
Statement statement = null;
JasperReport jreport;
JasperPrint jprint;
ArrayList<Object> list = new ArrayList<Object>();
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection("jdbc:oracle:thin:@wfwfwf:1521:fwefw", username, password);
statement = connection.createStatement();
String query = "SELECT * FROM USER ORDER BY CREATE_DATE";
ResultSet rs = statement.executeQuery(query);
JRResultSetDataSource dataSource = new JRResultSetDataSource(rs); // Here associate the resultSet with JasperReport
FastReportBuilder drb = new FastReportBuilder();
DynamicReport report = drb.build();
try {
jreport = DynamicJasperHelper.generateJasperReport(report, new ClassicLayoutManager(), new HashMap());
jprint = JasperFillManager.fillReport(jreport, new HashMap<>(), dataSource);
JasperExportManager.exportReportToPdfFile(jprint, "/report.pdf");
rs.close();
} catch (JRException e) {
e.printStackTrace();
}
}catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
}
}
Я не хочу создавать файл .jrxm или .jasper , я уверен, что кто-то должен был это сделать, еслиВы могли бы указать мне, когда я делаю неправильно, очень ценю вашу помощь.