Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r35517 -r35519 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 35517) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 35519) @@ -281,18 +281,19 @@ .loadObjectFromFile(getJasperReportFileRealPath(parameters)); //创建“jasper文件”的对象实例 HttpSession session = StrutsParamUtils.getRequest().getSession(); JasperPrint jPrint = JasperFillManager.fillReport(jasperReport, parametMap, dataSource); - setPrintTextWidth(jPrint, reportName); - setRightPadding(jPrint, reportName); - session.setAttribute("JasperPrint", jPrint); - //用于打印 - parametMap.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE); - JRDataSource dataSourceForPrint = new JRBeanCollectionDataSource(dataSourceList);//打印用数据源 - JasperPrint jasperPrintForPrint = JasperFillManager.fillReport(jasperReport, parametMap, dataSourceForPrint); - setPrintTextWidth(jasperPrintForPrint, reportName); - setRightPadding(jasperPrintForPrint, reportName); - session.setAttribute("jasperPrintForPrint", jasperPrintForPrint); - String fileName = (String) (parametMap.get("title")==null?"未命名":parametMap.get("title")); - + if(CollectionUtils.isNotEmpty(dataSourceList)){ + setPrintTextWidth(jPrint, reportName); + setRightPadding(jPrint, reportName); + //用于打印 + parametMap.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE); + JRDataSource dataSourceForPrint = new JRBeanCollectionDataSource(dataSourceList);//打印用数据源 + JasperPrint jasperPrintForPrint = JasperFillManager.fillReport(jasperReport, parametMap, dataSourceForPrint); + setPrintTextWidth(jasperPrintForPrint, reportName); + setRightPadding(jasperPrintForPrint, reportName); + session.setAttribute("jasperPrintForPrint", jasperPrintForPrint); + } + session.setAttribute("JasperPrint", jPrint); + String fileName = (String) (parametMap.get("title")==null?"未命名":parametMap.get("title")); StrutsParamUtils.getRequest().getSession() .setAttribute("fileName", fileName); } catch (Exception e) {