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

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

 更新時間:2020年11月25日 15:20:11   作者:夏詩鳶  
這篇文章主要為大家詳細介紹了java web將數(shù)據(jù)導出為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
 *  當前頁數(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");

 // 得到當前頁的數(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();
   }
  }
  }
 }
 }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • IDEA類存在但找不到的解決辦法

    IDEA類存在但找不到的解決辦法

    本文主要介紹了IDEA類存在但找不到的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • SpringBoot2.x實現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴

    SpringBoot2.x實現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴

    這篇文章主要介紹了SpringBoot2.x實現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 基于AspectJ注解方式實現(xiàn)AOP

    基于AspectJ注解方式實現(xiàn)AOP

    這篇文章主要介紹了基于AspectJ注解方式實現(xiàn)AOP,使用AspectJ的注解可以更方便地編寫和管理切面邏輯,而Spring AOP也是使用了AspectJ提供的注解來實現(xiàn)切面編程,需要的朋友可以參考下
    2023-09-09
  • springboot簡單集成Security配置的教程

    springboot簡單集成Security配置的教程

    這篇文章主要介紹了springboot簡單集成Security配置的教程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Spring配置數(shù)據(jù)源的三種方式(小結)

    Spring配置數(shù)據(jù)源的三種方式(小結)

    本文主要介紹了Spring配置數(shù)據(jù)源的三種方式,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java狀態(tài)機的一種優(yōu)雅寫法分享

    Java狀態(tài)機的一種優(yōu)雅寫法分享

    狀態(tài)機是一種數(shù)學模型,對于我們業(yè)務實現(xiàn)有很大的幫助。我們可以用非常多的方法實現(xiàn)狀態(tài)機,這篇文章就來介紹一個狀態(tài)機優(yōu)雅的實現(xiàn)方法,希望對大家有所幫助
    2023-04-04
  • 詳解Java實現(xiàn)拓撲排序算法

    詳解Java實現(xiàn)拓撲排序算法

    拓撲排序,很多人都可能聽說但是不了解的一種算法?;蛟S很多人只知道它是圖論的一種排序,至于干什么的不清楚。又或許很多人可能還會認為它是一種啥排序。而實質上它是對有向圖的頂點排成一個線性序列
    2021-06-06
  • Maven中Profile基礎知識與激活機制詳解

    Maven中Profile基礎知識與激活機制詳解

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

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

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

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

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

最新評論