私は支柱2を使用してPDFファイルをダウンロードするが、私はそれを実行すると、それが例外をスローするコードを作成...なぜStrutsは未処理例外を検出しましたか?
Strutsのは、未処理の例外を検出しましたている:
メッセージ:
org.apache.commons.logging.LogFactory
org/apache/commons/logging/LogFactory
をファイル:ORG/apacheの/カタリナ/ローダ/ WebappClassLoaderBase.java
行番号:1313ここ
が私のコードですスナップショット...私は例外に直面している...
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/a pache /コモン/ログ/た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)
[java.lang.ClassNotFoundExceptionの取得:org.apache.commons.logging.LogFactory例外](http://stackoverflow.com/questions/1551697/getting-java-lang-classnotfoundexception-org-apache- commons-logging-logfactory) –