由于Weblogic中的war是不解压的,并且javax.servlet.ServletContext.getRealPath(String str)方法的处理方式和在Tomcat中不同,导致JapserReport的子报表按照一般的方法无法打印。解决方法如下:
1、在servlet中用getResourceAsStream(String str)
InputStream is = context.getResourceAsStream(getRealFilePath(judgeBean(object, reportFlag)));
_jasperPrint = JasperFillManager.fillReport(is,parameter, createReportJRDataSource(JRBeanCollection));
2、子报表的填充中用java.io.InputStream
servelt中:
URL release = context.getResource(subReportFile+"release.jasper");
openaf.setRelease(release.toString());
jrxml的子报表填充中:
new java.net.URL($P{release}).openStream()
1、在servlet中用getResourceAsStream(String str)
InputStream is = context.getResourceAsStream(getRealFilePath(judgeBean(object, reportFlag)));
_jasperPrint = JasperFillManager.fillReport(is,parameter, createReportJRDataSource(JRBeanCollection));
2、子报表的填充中用java.io.InputStream
servelt中:
URL release = context.getResource(subReportFile+"release.jasper");
openaf.setRelease(release.toString());
jrxml的子报表填充中:
new java.net.URL($P{release}).openStream()