하나의 int 매개 변수가있는 Java 메소드 코드 호출을 포함하는 JasperReports의 jrxml 파일이 있습니다. 모두 단일 매개 변수를 사용하여 다음 코드로 잘 작동합니다. eventProjectid 내가 작동하지 않는 두 번째 매개 변수를 도입 할 필요가 정수JasperReports의 두 매개 변수를 사용하여 Java 메소드를 호출하는 방법
<textField>
<reportElement positionType="Float" x="250" y="79" width="103" height="15"/>
<textFieldExpression><![CDATA[com.rem40.reports.ReportUtils.getCubeXAxisLabelMaxConsequenceProject($F{eventProjectId})]]></textFieldExpression>
</textField>
, 내가 얻을 모든 다시 null 값입니다. 다음은 jrxml 코드입니다. eventProjectId는 정수 및 입니다. eventType은 문자열입니다.
<textField>
<reportElement positionType="Float" x="250" y="79" width="103" height="15"/>
<textFieldExpression><![CDATA[com.rem40.reports.ReportUtils.getCubeXAxisLabelMaxConsequenceProject($F{eventProjectId},$F{eventType})]]></textFieldExpression>
</textField>
는 여기에 내가
public static String getCubeXAxisLabelMaxConsequenceProject(Integer projectId, String eventType){
ProjectEntity projectEntity = projectService.findById(projectId);
CubeConfigEntity cubeConfigEntity=cubeConfigService.findByCubeTypeName(eventType,projectEntity.getCubeConfigName());
if (cubeConfigEntity != null) {
return cubeConfigEntity.getxAxisName();
} else {
return "";
}
}
그냥 내가 측은 호출을 디버깅 시도 명확하게하기 위해 전화를 시도하고 자바 코드입니다. 메소드 서명이 jrxml과 Java 메소드를 비교하는 방법에 문제가 있다고 생각합니다. 디버그에서는 단일 매개 변수 메서드가 호출되지만 두 매개 변수가있는 메서드는 호출되지 않습니다.
도움을 주시면 감사하겠습니다.
귀하의 코드는 괜찮 그들과 함께 유효한 값이 있습니까 있는지 확인하십시오 당신은 심지어 10 개 매개 변수를 사용하여 메서드를 호출 할 수 있습니다. 잘못된 이름으로 메소드를 호출 할 경우 예외가 발생합니다. 권리? '작동하지 않는 두 번째 매개 변수를 도입해야합니다. 모두 null 값을 반환합니다. '- 즉, 1) 메소드의 논리가 잘못되었을 수 있습니다. 논리를 확인하기 위해 간단한 테스트 (단위 테스트)를 작성할 수 있습니다. 2) 예상했던 데이터가 아닐 수도 있습니다. textFields로 검사 할 수 있습니다. 3) 아마도 classpath에 jar의 이전 버전이 있습니다. 버전을 다시 다시 확인하십시오 –