我已经创建了一个使用struts 2下载pdf的代码。但是当我运行它时会抛出异常......
Struts检测到未处理的异常:
消息:
org.apache.commons.logging.LogFactory
org/apache/commons/logging/LogFactory
文件:org / apache / catalina / loader / WebappClassLoaderBase.java
行号:1,313
这是我的代码快照......我面临例外......
public String execute() throws Exception {
try {
if (submit.equals("pdf")) {
rs = new ReportDAO().getPdf();
jasperPath = ServletActionContext.getServletContext().getRealPath("/Reports");
pdfName = "Studnet Report";
rpt = "studentReport.jrxml";
// I got error at this line....
JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs);
HashMap<String, Object> pm = new HashMap<String, Object>();
String logo = jasperPath + "/ws.jpg";
pm.put("logo", logo);
JasperReport jr = JasperCompileManager.compileReport(jasperPath + "/" + rpt);
System.out.println("ok");
JasperPrint jp = JasperFillManager.fillReport(jr, pm, resultSetDataSource);
JasperExportManager.exportReportToPdfFile(jp, jasperPath + pdfName + ".pdf");
fileInputStream = new FileInputStream(new File(jasperPath + pdfName + ".pdf"));
}
} catch (Exception e) {
e.printStackTrace();
}
return "SUCCESS";
}
struts.xml中
<result name="SUCCESS" type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">fileInputStream</param>
<param name="contentDisposition">attachment;filename="${pdfName}.pdf"</param>
<param name="bufferSize">1024</param>
</result>
例外:
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory
net.sf.jasperreports.engine.util.JRLoader.(JRLoader.java:67)
net.sf.jasperreports.engine.JRPropertiesUtil.loadProperties(JRPropertiesUtil.java:99)
net.sf.jasperreports.engine.DefaultJasperReportsContext.initProperties(DefaultJasperReportsContext.java:94)
java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
net.sf.jasperreports.engine.util.JRLoader.(JRLoader.java:67)
答案 0 :(得分:0)
答案 1 :(得分:-1)
你有公共记录库吗?