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(); } } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Java Mybatis的初始化之Mapper.xml映射文件的详解
这篇文章主要介绍了Java Mybatis的初始化之Mapper.xml映射文件的详解,解析完全局配置文件后接下来就是解析Mapper文件了,它是通过XMLMapperBuilder来进行解析的2022-08-08springboot+mybatis+redis 二级缓存问题实例详解
Mybatis默认没有开启二级缓存,需要在全局配置(mybatis-config.xml)中开启二级缓存。本文讲述的是使用Redis作为缓存,与springboot、mybatis进行集成的方法。需要的朋友参考下吧2017-12-12解析Spring Data JPA的Audit功能之审计数据库变更
Spring Data JPA 提供了Audit审计功能,用来记录创建时间、创建人、修改时间、修改人等,下面来详细讲解下审计数据库变更2021-06-06SpringBoot中的声明式事务+切面事务+编程式事务详解
这篇文章主要介绍了SpringBoot中的声明式事务+切面事务+编程式事务详解,事务管理对于企业应用来说是至关重要的,当出现异常情况时,它也可以保证数据的一致性,需要的朋友可以参考下2023-08-08详解Spring关于@Resource注入为null解决办法
这篇文章主要介绍了详解Spring关于@Resource注入为null解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-05-05
最新评论