先贴代码
JasperPrint jasperPrint = JasperFillManager.fillReport(request.getRealPath("/")+"Resource/reports/archiveListReport.jasper",parameters,new JRBeanCollectionDataSource(ailist));
PrintWriter out =response.getWriter();
JRHtmlExporter exporter = new JRHtmlExporter(); exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "utf-8");
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "<br>");
exporter.exportReport();
out.flush();
out.close();
怎么这段代码执行后既不报错,页面上也没有任何反应啊?
是我代码写得有问题,还是思路本来就有问题?我试过,这个jasperPrint及里面的数据都没有问题
谢谢各位了
JasperPrint jasperPrint = JasperFillManager.fillReport(request.getRealPath("/")+"Resource/reports/archiveListReport.jasper",parameters,new JRBeanCollectionDataSource(ailist));
PrintWriter out =response.getWriter();
JRHtmlExporter exporter = new JRHtmlExporter(); exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "utf-8");
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "<br>");
exporter.exportReport();
out.flush();
out.close();
怎么这段代码执行后既不报错,页面上也没有任何反应啊?
是我代码写得有问题,还是思路本来就有问题?我试过,这个jasperPrint及里面的数据都没有问题
谢谢各位了
貌似会抛出这个异常
java.net.SocketException: Connection reset
上网查了,也没有找到好的解决办法,你遇到过吗?
JasperFillManager.fillReportToFile(path + ".jasper", parameters,new CustomDataSource(temp.iterator(), field));
}catch(Exception ee){
System.err.println(ee);
}在fillReportToFile try一下看出什么错误!
是啥 返回的对吗?
jasperPrint = JasperFillManager.fillReport(request.getRealPath("/")+"Resource/reports/archiveListReport.jasper",parameters,new JRBeanCollectionDataSource(ailist));
这句话没问题,我用try catch捕获也没有异常
我调试的时候,代码全部执行,直到 out.close();也不会有异常,然后继续执行就有那个java.net.SocketException:Connection reset的异常
JasperFillManager.fillReport(),这个方法的三个参数分别是,报表文件的位置,要传入的参数,以及数据源,我试了,这种方式new JRBeanCollectionDataSource(ailist)没问题,JasperFillManager.fillReport()是可以正确填充报表的
out.close();
这俩个删了试试 。
在eclipse中调试,执行完out.close()后,虽然程序代码已经执行完了,但继续按F6,还会执行,有一些其他变量在变化,然后就会抛出java.net.SocketException了
有碰到这种情况的高手出来解答下吧