我有一个编写的servlet代码,如下所示,其中我要通过map函数传递参数,我必须下载PDF格式的报告,而在下载时,我必须添加到我的request.getparameter(“ param2”)到request.getparameter(“ param1”)格式化日期为MMddyyyy,因为它在下载文件时不接受“ /”。
请先帮助我完成此查询,谢谢。
SimpleDateFormat dateFormat2 = new SimpleDateFormat("MM/dd/yyyy");
Map<String, Object> map = new HashMap<String, Object>();
map.put("Course_ID", request.getParameter("param1"));
map.put("StartDate", dateFormat2.parse(request.getParameter("param2")));
map.put("EndDate", dateFormat2.parse(request.getParameter("param3")));
JasperReport jr = JasperCompileManager.compileReport(jrxmlFileName);
JasperPrint jp = JasperFillManager.fillReport(jr, map, conn);
JasperExportManager.exportReportToPdfFile(jp,
"D:/ForReports/Downloads/" + request.getParameter("param1") +".pdf");
System.out.println("Done exporting pdf format to view");
在html中,参数将如下所示传递,
<div class=" col-sm-3" class="form-group">
<br>
<p align="center" ><a class="btn icon-btn btn-info" ng-href="JasperServlet2?param1={{modelcourse}}¶m2={{formatDate(startdate) |date:'MM/dd/yyyy'}}¶m3={{formatDate(enddate) |date:'MM/dd/yyyy'}}" target="_blank"><span class="glyphicon btn-glyphicon glyphicon-print img-circle text-success"></span> Click Here To View report</a></p>
</div>
答案 0 :(得分:0)
希望此代码可能会有所帮助:-
String date=request.getParameter("param1");
date=date.replaceAll("/", "");
JasperExportManager.exportReportToPdfFile(jp,
"D:/ForReports/Downloads/" + date +".pdf");
而其他代码将保持不变。
答案 1 :(得分:0)
您使用SimpleDateFormat
将字符串解析为 日期。
为什么不使用另一个SimpleDateFormat
将此日期格式化为所需格式的字符串?
SimpleDateFormat dateFormat2 = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat dateFormat3 = new SimpleDateFormat("MMddyyyy");
Date startDate = dateFormat2.parse(request.getParameter("param2");
String courseId = request.getParameter("param1");
String startDateText = dateFormat3.format(startDate);
Map<String, Object> map = new HashMap<String, Object>();
map.put("Course_ID", courseId);
map.put("StartDate", startDate));
map.put("EndDate", dateFormat2.parse(request.getParameter("param3")));
JasperReport jr = JasperCompileManager.compileReport(jrxmlFileName);
JasperPrint jp = JasperFillManager.fillReport(jr, map, conn);
JasperExportManager.exportReportToPdfFile(jp, "D:/ForReports/Downloads/" + courseId + startDateText +".pdf");
System.out.println("Done exporting pdf format to view");