Java에서 바로 하위 보고서를 컴파일하려고합니다. 다음과 같이 MAIN 보고서에 하위 보고서 식을 배치했습니다. 다음과 같이주 보고서가 ireport에서 실행되는 동안 하위 보고서를 컴파일하는 방법은 무엇입니까?
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[SubReportCompiler.getCompiledReport("reportId")]]></subreportExpression>
내 subreportcompiler 코드는 다음과 같습니다
공용 클래스 SubReportCompiler {
private static final String JR_XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<!DOCTYPE jasperReport PUBLIC \"-//JasperReports//DTD Report Design//EN\" \"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd\">";
public static JasperReport getCompiledReport(String reportId)
{
Report report = Report.getReportObject(reportId, applicationId);
String jasperXML=JR_XML_HEADER + report.getJASPERXML();
InputStream jrXMLStream = new ByteArrayInputStream(jasperXML.getBytes());
JasperReport jReport;
try {
jReport = JasperCompileManager.compileReport(jrXMLStream);
} catch (JRException e) {
throw new ReportException(e.getMessage(), e);
}
catch (Exception e)
{
throw new ReportException(e.getMessage(), e);
}
return jReport;
}
}
나는 자바에서 주 보고서를 실행하기 위해 노력하고있다. 다음과 같은 오류가 발생합니다.
(java.lang.String의) 그러한 특성 : 클래스 SubReportCompiler : report2_1280833699753_269232
내가 등록 정보를 등록해야합니까? 어떻게 기본 보고서의 실행 중에 Java에서 비행에 하위 보고서를 컴파일하려면?
그것은 작동합니다 ... 감사합니다 안드레이 ... :) – Jagadesh