仅在下载PDF格式时将日期从MM / dd / yyyy转换为MMddyyyy

时间:2018-08-02 07:06:34

标签: java date servlets

我有一个编写的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}}&param2={{formatDate(startdate) |date:'MM/dd/yyyy'}}&param3={{formatDate(enddate) |date:'MM/dd/yyyy'}}" target="_blank"><span class="glyphicon btn-glyphicon glyphicon-print img-circle text-success"></span>&nbspClick Here To View report</a></p>
</div>  

2 个答案:

答案 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");