[英]On trying to print JasperReports report using Java, the Tomcat Apache Server is shutting down when trying to view the report again
我正在尝试使用JasperReports在我的项目中创建报告。
我已经生成了.jrxml文件。 之后,我创建了前端(表单),然后单击“提交”,我需要打印报告。 单击“提交”按钮后,我在Action类( Struts 1.2 )中调用以下代码,
if (actionForm.get("hiddenAction").toString().equalsIgnoreCase("Submit")) {
try {
//DataBase
connection = ConnectionHelper.getUniqueInstance().getConnectionFromPool();
Map<String, Object> parameters = new HashMap<String, Object>();
String report = "E:\\Report\\RP_BI_SUCCESS.jrxml";
String fromStrDate = "01/12/2013";
String toStrDate = "25/12/2013";
parameters.put("I_SPMID", 0);
parameters.put("I_GATEWAYLKUPID", 0);
parameters.put("I_FROMDATE", Utilities.convertStringDateToSQLDate(fromStrDate));
parameters.put("I_TODATE", Utilities.convertStringDateToSQLDate(toStrDate));
parameters.put("I_MODE", "A");
try {
JasperReport jr = JasperCompileManager.compileReport(report);
JasperPrint jasperPrint = JasperFillManager.fillReport(jr, parameters, connection);
JasperViewer.viewReport(jasperPrint);
jasperPrint = null;
} catch (Throwable t) {
t.printStackTrace();
}
}
}
要进行设置,我在项目的文件夹中使用了JasperReports 5.5.0 (可执行JAR文件)。
情况1:当我单击“提交”按钮时,我可以获取JasperViewer窗口以及所需的必要报告。 然后,如果我要关闭报告,则Tomcat Apache服务器 ( Tomcat Apache V 7.0 )将自动关闭。
情况2:但是,如果我再次单击“提交”而不关闭以前打开的报告,则可以。
谁能帮我解决这个问题?
尝试更换
Jasper.viewReport(jasperPrint)
通过
JasperViewer jasperViewer = new JasperViewer(jasperPrint, false, null);
jasperViewer.setVisible(真);
它对我来说在Tomcat中很好用,而在Glassfish中则不行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.