Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将多个参数传递到报表并从Java导出到JasperReports中的PDF_Java_Jsp_Servlets_Jasper Reports_Ireport - Fatal编程技术网

如何将多个参数传递到报表并从Java导出到JasperReports中的PDF

如何将多个参数传递到报表并从Java导出到JasperReports中的PDF,java,jsp,servlets,jasper-reports,ireport,Java,Jsp,Servlets,Jasper Reports,Ireport,我正在尝试使用Jasper Reports来帮助我在应用程序中进行报告。我必须以HTML(JSP)格式显示我的报告,还需要能够从我的网页中将报告导出为PDF格式。 我的大多数报告都需要多个参数,我不知道如何将它们从Servlet(如果我必须将它们传递到Servlet)传递到报告 附言:我不使用任何类型的框架,如果你能建议一个无框架的实现,那就太好了。你可以像这样使用HashMap HashMap<String, Object> map = new HashMap<String,

我正在尝试使用Jasper Reports来帮助我在应用程序中进行报告。我必须以HTML(JSP)格式显示我的报告,还需要能够从我的网页中将报告导出为PDF格式。
我的大多数报告都需要多个参数,我不知道如何将它们从Servlet(如果我必须将它们传递到Servlet)传递到报告


附言:我不使用任何类型的框架,如果你能建议一个无框架的实现,那就太好了。

你可以像这样使用HashMap

HashMap<String, Object> map = new HashMap<String, Object>();
map.put("parameterName","value");
JasperPrint print = JasperFillManager.fillReport(report,map,con);
HashMap map=newhashmap();
map.put(“参数名”、“值”);
JasperPrint print=JasperFillManager.fillReport(报告、地图、图标);
将帮助您,它不需要任何框架。它将报告导出为PDF格式。你们可以用Anil已经解释过的地图

HashMap<String, Object> map = new HashMap<String, Object>();
map.put("parameterName","value");
map.put("parameterName2","value2");
map.put("parameterName3","value3");
JasperPrint print = JasperFillManager.fillReport(report,map,con);
HashMap map=newhashmap();
map.put(“参数名”、“值”);
映射放置(“参数名称2”、“值2”);
映射放置(“参数名称3”、“值3”);
JasperPrint print=JasperFillManager.fillReport(报告、地图、图标);
传递多个参数。

//准备数据-根据需要更改此选项
//Preparing data - change this as per your requirement
List<DataDTO> dataDTOList = new ArrayList<DataDTO>();
DataDTO dataDTO = new DataDTO; 
dataDTO.setFirstName("FirstName"); // in your Jasper field name is 'firstName' as type String
dataDTO.setLastName("LastName"); // in your Jasper field name is 'lastName' as type String
dataDTOList.add(dataDTO);

// Adding data
JRDataSource jrdatasource = new JRBeanCollectionDataSource(dataDTOList);

// Exporting report
File jasperFile = new File("C:/YourReport.jasper"); // change this
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(new FileInputStream(jasperFile.getAbsolutePath()));             
Map parameters = new HashMap();
JRConcurrentSwapFile jrSwapFile = new JRConcurrentSwapFile("C:/PDFOutput/"),30,2);
JRSwapFileVirtualizer virtualizer = new JRSwapFileVirtualizer(2,jrSwapFile,true);
parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
JasperPrint jpPrintObj = JasperFillManager.fillReport(jasperReport,parameters,jrdatasource);
JasperExportManager.exportReportToPdfFile(jpPrintObj,"C:/PDFOutput/");`
List dataDTOList=new ArrayList(); DataDTO DataDTO=新的DataDTO; dataDTO.setFirstName(“FirstName”);//在Jasper字段中,名称是'firstName'作为类型字符串 dataDTO.setLastName(“LastName”);//在Jasper字段中,名称是'lastName'作为类型字符串 dataDTOList.add(dataDTO); //添加数据 JRDataSource JRDataSource=新的JRBeanCollectionDataSource(dataDTOList); //导出报告 File jasperFile=新文件(“C:/YourReport.jasper”);//改变这个 JasperReport JasperReport=(JasperReport)JRLoader.loadObject(新文件输入流(jasperpile.getAbsolutePath()); 映射参数=新的HashMap(); JRConcurrentSwapFile jrSwapFile=新的JRConcurrentSwapFile(“C:/PDFOutput/”),30,2); JRSwapFileVirtualizer virtualizer=新的JRSwapFileVirtualizer(2,jrSwapFile,true); parameters.put(jrparmeter.REPORT\u VIRTUALIZER,VIRTUALIZER); JasperPrint jpPrintObj=JasperFillManager.fillReport(jasperReport,参数,jrdatasource); JasperExportManager.exportReportToPdfFile(jpPrintObj,“C:/PDFOutput/”)`
这有什么帮助?对不起,我对Jasperreport这件事有点陌生。我不知道是谁投的票,但它没有回答我的问题。
HashMap paramMap=new HashMap();paramMap.put(“parameterName”、“value”);bytes[]byteStream=JasperRunManager.runReportToPdf(“myJasperReport.jasper”,paramMap,databaseConn);OutputStream outStream=servletResponse.getOutputStream();setHeader(“内容处置”,“内联,文件名=myReport.pdf”);response.setContentType(“application/pdf”);response.setContentLength(byteStream.length);扩展流。写入(字节,0,字节。长度)它可能会帮助您。我将使用上述两种解决方案。@Piotr Nowicki,谢谢您的编辑!:)您的链接似乎已失效