java web将数据导出为pdf格式文件代码片段
此片段达到的效果是:访问此请求,浏览器将打开新的界面并显示pdf文件预览,在文件预览界面可以下载该pdf文件。
1、jsp界面代码
<inputtype="button"class="btnbtn-info"onclick="getVerPdf();"target="_blank"value="导出为pdf文件"/>
2、js代码
functiongetVerPdf(){ window.open('/pms/jsp/version/getPrdVerListPdf?page=' +$("#getPage").html()+'&key='+$("#select").val()); }
3、java代码
/** * *Purpose:将产品版本列表导出为pdf格式 * *@paramreq *请求 *@paramresp *应答 *@parampage *当前页数 */ @RequestMapping(value="getPrdVerListPdf") publicvoidgetPrdTypeList(HttpServletRequestreq,HttpServletResponseresp,Integerpage,Stringkey){ 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(Exceptione){ e.printStackTrace(); } }else{ //如果有数据,则显示pdf文件 JRBeanCollectionDataSourceds=newJRBeanCollectionDataSource(verList); StringreportPath=null; Map<String,Object>map=newHashMap<String,Object>(); if(key!=""){ map.put("prdName",verList.get(0).getPrdName()); }else{ map.put("prdName",""); } reportPath=req.getServletContext().getRealPath("/reports/prdVerListByPrdName.jasper"); InputStreamis=null; try{ is=newFileInputStream(reportPath); JasperRunManager.runReportToPdfStream(is,resp.getOutputStream(),map,ds); }catch(Exceptione){ e.printStackTrace(); }finally{ if(is!=null){ try{ is.close(); }catch(IOExceptione){ e.printStackTrace(); } } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。