作者a3236852 (serena)
看板java
標題[問題]Ireport想透過JSP產生PDF的網頁
時間Tue Jan 25 01:09:03 2022
※問題類別:JSP,jasperreports-4.1.3.jar
※系統環境:JDK 1.6,apache-tomcat-8.5.75
※狀況概述:
我想把Ireport產出的PDF在網頁上顯示
已經產生jasper檔,在Ireport中有預覽成功
參考網路上一些JSP檔案的範例
一開始是JAR好像一直無法引用進來
查了資料好像環境參數要指定classpath
像補充圖片那樣設定,不太確定是不是對的,但compiler好像過了
再來就卡在JasperFillManager.fillReport這一行
我試了好多方式,再麻煩大神看看我哪裡錯了
本來也有想說用Eclipse
但對Java不太了解,也是遇到一些困難
如果有其他建議我也可以再試看看
謝謝!
※程式碼:
<%@page language="java" contentType="application/pdf; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import ="net.sf.jasperreports.engine.*"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="java.io.File"%>
<%@page import="java.io.FileInputStream"%>
<%@page import="java.io.InputStream"%>
<%@page import="net.sf.jasperreports.engine.util.*" %>
<%@page import="net.sf.jasperreports.engine.export.*" %>
<%@page import="net.sf.jasperreports.j2ee.servlets.*" %>
<%@page import="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="application/pdf;
charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
response.reset();
File reportFile = new File("C:/apache-tomcat-8.5.75/webapps/ROOT/HR/report
2.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("");
Map parameters = new HashMap();
out.println("reportFile.getPath:"+reportFile.getPath()+"<br/>");
out.println("conn:"+conn);
JasperPrint jasperPrint = JasperFillManager.fillReport(reportFile.getPath(
),
%>
</body>
</html>
※錯誤訊息:
https://imgur.com/jJh1yQy
※補充說明:
classpth設定
https://imgur.com/5dpCTHe
jasper放的位置
https://imgur.com/f37b3Xa
傳進去fillReport()的reportFile.getPath跟conn 用out.println看實際的值
https://imgur.com/tJeiuez
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.178.51 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1643044145.A.CE4.html
※ 編輯: a3236852 (49.216.161.40 臺灣), 01/25/2022 01:13:59
1F:→ ssccg: jar不只compile要用,執行期也要用01/25 04:53
2F:→ ssccg: tomcat的話通常應該在 webapps/你的程式/WEB-INF/lib01/25 04:54
3F:→ ssccg: 或是(如果要多個webapp共用)放在tomcat自己的lib 01/25 04:55
我兩個都有放哦!還是一樣錯誤訊息!
https://i.imgur.com/V6GNKEG.jpg
※ 編輯: a3236852 (49.216.161.40 臺灣), 01/25/2022 09:40:33
4F:推 hgs1906: 吧所有jasperreports依賴到的所有lib都放進去 這樣不完整01/25 10:14
啊啊啊啊啊啊謝謝你我弄出來了真的是少jar
我再把範例的jar全都引用進來就有了
超感謝你T_T大神!
5F:→ fgh81113: 你換一個範例吧 實際上不會在jsp上寫code, 在java直接回01/25 19:58
6F:→ fgh81113: pdf檔案就好 記得content type要設pdf01/25 19:58
因為eclipse使用java寫好像有點複雜(對java不太熟)
還是謝謝你!!
※ 編輯: a3236852 (101.10.5.197 臺灣), 01/26/2022 16:35:00