Re: [JSP ] 如何將用jsp呼叫ireport產生出來的pdf쀠…
先在此向各位大大道歉
我真的是個不太會敘述問題的人 所以才讓各位白忙
其實我也是剛剛才想到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
推
12/07 13:17, , 1F
12/07 13:17, 1F
推
12/07 13:18, , 2F
12/07 13:18, 2F
→
12/07 13:26, , 3F
12/07 13:26, 3F
推
12/07 16:22, , 4F
12/07 16:22, 4F
※ 編輯: orangetrees 來自: 61.20.144.31 (12/07 16:48)
推
12/07 19:48, , 5F
12/07 19:48, 5F
推
12/10 23:40, , 6F
12/10 23:40, 6F