java web将数据导出为pdf格式文件代码片段

网友投稿 225 2023-06-16


java web将数据导出为pdf格式文件代码片段

此片段达到的效果是:访问此请求,浏览器将打开新的界面并显示pdf文件预览,在文件预览界面可以下载该pdf文件。

1、jsp界面代码

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 verList = prdVersionSer.getAllPrdVersion(key);

if (verList.size() == 0) {

// 如果没有数据,则返回主界面并显示提示消息

req.setAttribute("getFileMsg", "没有符合条件的信息!");

req.setAttribute("select", key);

try {

req.getRequehttp://stDispatcher("/jsp/version/ver_list.jsp").forward(req, resp);

} catch (Exception e) {

e.printStackTrace();

}

} else {

// 如果有数据,则显示pdf文件

JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(verList);

String reportPath = null;

Map map = new HashMap();

if (key != "") {

map.put("prdName", verList.get(0).getPrdName());

} else {

map.put("prdName", "");

}

reportnZdOuADtzPath = 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();

}

}

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:canvas绘制表盘时钟
下一篇:XFire构建web service客户端的五种方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~