亲宝软件园·资讯

展开

java web数据导出为pdf格式文件 java web将数据导出为pdf格式文件代码片段

夏诗鸢 人气:0
想了解java web将数据导出为pdf格式文件代码片段的相关内容吗,夏诗鸢在本文为您仔细讲解java web数据导出为pdf格式文件的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,web,pdf格式,下面大家一起来学习吧。

此片段达到的效果是:访问此请求,浏览器将打开新的界面并显示pdf文件预览,在文件预览界面可以下载该pdf文件。

1、jsp界面代码

<input type="button" class="btn btn-info" onclick="getVerPdf();" target="_blank" value="导出为pdf文件" />

2、js代码

function getVerPdf() {
 window.open('/pms/jsp/version/getPrdVerListPdf?page='
  + $("#getPage").html() + '&key=' + $("#select").val());
}

3、java代码

/**
 * 
 * Purpose :将产品版本列表导出为pdf格式
 * 
 * @param req
 *  请求
 * @param resp
 *  应答
 * @param page
 *  当前页数
 */
 @RequestMapping(value = "getPrdVerListPdf")
 public void getPrdTypeList(HttpServletRequest req, HttpServletResponse resp, Integer page, String key) {
 resp.setContentType("application/pdf");
 // 弹框选择保存路径和文件名
 // resp.setHeader("content-disposition",
 // "attachment;filename=PrdVerList.pdf");

 // 得到当前页的数据
 List<Version> verList = prdVersionSer.getAllPrdVersion(key);
 if (verList.size() == 0) {
  // 如果没有数据,则返回主界面并显示提示消息
  req.setAttribute("getFileMsg", "没有符合条件的信息!");
  req.setAttribute("select", key);
  try {
  req.getRequestDispatcher("/jsp/version/ver_list.jsp").forward(req, resp);
  } catch (Exception e) {
  e.printStackTrace();
  }
 } else {
  // 如果有数据,则显示pdf文件
  JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(verList);
  String reportPath = null;
  Map<String, Object> map = new HashMap<String, Object>();
  if (key != "") {
  map.put("prdName", verList.get(0).getPrdName());
  } else {
  map.put("prdName", "");
  }
  reportPath = req.getServletContext().getRealPath("/reports/prdVerListByPrdName.jasper");
  InputStream is = null;

  try {
  is = new FileInputStream(reportPath);
  JasperRunManager.runReportToPdfStream(is, resp.getOutputStream(), map, ds);
  } catch (Exception e) {
  e.printStackTrace();
  } finally {
  if (is != null) {
   try {
   is.close();
   } catch (IOException e) {
   e.printStackTrace();
   }
  }
  }
 }
 }

加载全部内容

相关教程
猜你喜欢
用户评论