欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java web將數(shù)據(jù)導(dǎo)出為pdf格式文件代碼片段

 更新時間:2020年11月25日 15:20:11   作者:夏詩鳶  
這篇文章主要為大家詳細(xì)介紹了java web將數(shù)據(jù)導(dǎo)出為pdf格式文件代碼片段,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

此片段達(dá)到的效果是:訪問此請求,瀏覽器將打開新的界面并顯示pdf文件預(yù)覽,在文件預(yù)覽界面可以下載該pdf文件。

1、jsp界面代碼

<input type="button" class="btn btn-info" onclick="getVerPdf();" target="_blank" value="導(dǎo)出為pdf文件" />

2、js代碼

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

3、java代碼

/**
 * 
 * Purpose :將產(chǎn)品版本列表導(dǎo)出為pdf格式
 * 
 * @param req
 *  請求
 * @param resp
 *  應(yīng)答
 * @param page
 *  當(dāng)前頁數(shù)
 */
 @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");

 // 得到當(dāng)前頁的數(shù)據(jù)
 List<Version> verList = prdVersionSer.getAllPrdVersion(key);
 if (verList.size() == 0) {
  // 如果沒有數(shù)據(jù),則返回主界面并顯示提示消息
  req.setAttribute("getFileMsg", "沒有符合條件的信息!");
  req.setAttribute("select", key);
  try {
  req.getRequestDispatcher("/jsp/version/ver_list.jsp").forward(req, resp);
  } catch (Exception e) {
  e.printStackTrace();
  }
 } else {
  // 如果有數(shù)據(jù),則顯示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();
   }
  }
  }
 }
 }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Maven中Profile基礎(chǔ)知識與激活機(jī)制詳解

    Maven中Profile基礎(chǔ)知識與激活機(jī)制詳解

    這篇文章將深入解析Maven?Profile的底層實(shí)現(xiàn)機(jī)制,從Profile標(biāo)識符的作用域劃分到多維度激活條件的組合應(yīng)用,全面剖析其在不同規(guī)模項(xiàng)目中的最佳實(shí)踐,需要的可以了解下
    2025-05-05
  • 使用Maven和SpringBoot搭建客戶數(shù)據(jù)清洗項(xiàng)目框架

    使用Maven和SpringBoot搭建客戶數(shù)據(jù)清洗項(xiàng)目框架

    這篇文章主要為大家詳細(xì)介紹了如何使用Maven和SpringBoot搭建客戶數(shù)據(jù)清洗項(xiàng)目框架,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2025-07-07
  • Java 在PDF中添加條形碼的兩種方法

    Java 在PDF中添加條形碼的兩種方法

    本文就將通過使用Java程序來演示如何在PDF文檔中添加Codebar、Code128A和Code39條形碼。通過實(shí)例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-03-03
  • 最新評論