作者orangetrees (澄枫)
看板java
标题Re: [JSP ] 如何将用jsp呼叫ireport产生出来的pdf쀠…
时间Mon Dec 7 12:54:24 2009
先在此向各位大大道歉
我真的是个不太会叙述问题的人 所以才让各位白忙
其实我也是刚刚才想到server端跟client的不同
那我再次叙述一下我的问题
就是老板希望达到的目的是能够将利用ireport产生出来的报表储存在server端
就是我有一支a.jsp的程式 是让user输入搜寻报表的条件
然後把条件丢到b.jsp
b.jsp这支程式再去呼叫ireport把报表的pdf档跑出来
而跑出来之後就直接储存在server端的某个资料夹里
以下是我b.jsp这支程式的程式码
<% String bank_code1=request.getParameter("bank_code"); %>
<%
//报表编辑之後产生的.jasper文件的存放位置
File reportFile = new
File(application.getRealPath("/report/iReport-3.0.0-src/report2.jasper"));
//连接SQL SERVER的JDBC URL
String url ="jdbc:jtds:sqlserver://xxx.xxx.xxx.xxx/test";
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
//传递报表中用到的参数值
Map parameters = new HashMap();
//"bank_code"是ireport定义的参数名称 其类型为String
parameters.put("bank_code", bank_code1);
System.out.println("---------conn-------------");
//连接到资料库
Connection conn = DriverManager.getConnection(url,"sa", "1234567");
System.out.println("---------Jasper begin-------------");
//在控制台显示报表文件的路径
byte[]
bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
System.out.println("---------Jasper end-------------");
response.setContentType("application/pdf");
response.setHeader("Content-Disposition","attachment;filename=\"test.pdf\"");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
%>
其实就是在google找到范例之後再去改一些关键字而已
(之前没po程式码是因为在家里没有档案)
那我早上加了一行
response.setHeader("Content-Disposition","attachment;filename=\"test.pdf\"");
现在是可以下载 但是是在client端
我的问题是我不知道该如何把这个产生出来的pdf档储存在server端
这段程式码我不知道该怎麽写
希望板上的大大们能再给我一点提示
谢谢
※ 引述《orangetrees (澄枫)》之铭言:
: 如题
: 其实我对JSP语法真的很不熟
: 用ireport的方法也是爬遍了GOOGLE大神之後才弄出来的
: 但是老板现在需要的东西是
: 要把利用ireport产生出来的报表另存在别的资料夹里
: 我目前的写法是
: 第一页就只是让user输入一个值
: 第二页就是得到那个值之後 丢到ireport去搜寻出需要的资料
: 然後show出pdf档
: 但是现在只能show出 并没有办法在show出的同时就存在别的地方
: (其实我很希望可以直接按adobe上面的储存就好了......不过 当然不行 = =)
: 我大概知道要把这个pdf档另存的这段程式应该要写在第二页里面
: 但是该怎麽写实在是毫无头绪
: 老板说要我去找找outputstream这方面的资料
: 只是我对这东西实在是没概念
: 不知道板上的各位大大能否提供小妹一个想法 或是方向之类的
: 至少在google搜寻的时候有关键字可以找....
: 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.20.144.31
1F:推 PsMonkey://报表编辑之後产生的.jasper文件的存放位置 →? 12/07 13:17
2F:推 PsMonkey:对你产出的程式(即使是抄来的)每一行都要负责阿.... 12/07 13:18
3F:→ orangetrees:那个是ireport会自动产出的档 12/07 13:26
4F:推 PsMonkey:如果我这样提示还不够明显的话,我建议你找家教 or 发包 12/07 16:22
※ 编辑: orangetrees 来自: 61.20.144.31 (12/07 16:48)
5F:推 kimkao:请去搜寻File 存档跟byte[]操作就有答案了 12/07 19:48
6F:推 zanyking:我一直以为学程式语言都是先从std IO 跟File IO开始的... 12/10 23:40