java 웹에서 데이터를 pdf 형식 파일 코드 세션으로 내보내기

2376 단어 javawebpdf
이 세션의 효과는 이 요청에 접근하면 브라우저가 새 인터페이스를 열고 pdf 파일 미리보기를 표시합니다. 파일 미리보기 인터페이스에서 pdf 파일을 다운로드할 수 있습니다.
1. jsp 인터페이스 코드

2, js 코드

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

/**
 * 
 * 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();
   }
  }
  }
 }
 }
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기