JasperReport

时间:2015-07-02 09:10:13

标签: java jasper-reports deprecated

我使用的是jasperreports-6.1.0.jar,类JRPrintServiceExporterParameter中有一些已弃用的方法。

如何找出我应该使用的方法或类别?

如何确定使用弃用方法是否安全?

编辑:

这是我的代码中不赞成使用的部分:

exporter = new JRPrintServiceExporter();
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE, printService[selectedService]);
        exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE_ATTRIBUTE_SET, printService[selectedService].getAttributes());
        exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttributeSet);
        exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE);
        exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.FALSE);
        exporter.exportReport();

2 个答案:

答案 0 :(得分:0)

不推荐使用的方法可以安全使用。他们继续工作,但将来可能会被删除。所以现在你很好。

但您应该考虑通过阅读Javadocs here并查看有关调用所需功能的新方法的建议来清理代码。

答案 1 :(得分:0)

看看at this

我的解决方案

PrinterName printerName = new PrinterName(selectedService.getName(), null);

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
                parametros, beanCollectionDataSource);

PrintServiceAttributeSet printServiceAttributeSet = new HashPrintServiceAttributeSet();
        printServiceAttributeSet.add(printerName);

JRPrintServiceExporter exporter = new JRPrintServiceExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
SimplePrintServiceExporterConfiguration configuration = new SimplePrintServiceExporterConfiguration();
configuration.setPrintRequestAttributeSet(printRequestAttributeSet);
configuration.setPrintServiceAttributeSet(printServiceAttributeSet);
configuration.setDisplayPageDialog(false);
configuration.setDisplayPrintDialog(false);
exporter.setConfiguration(configuration);
exporter.exportReport();