WebLogic上的JasperReports无法编译条件操作

时间:2011-12-09 12:24:40

标签: jasper-reports weblogic

我在WebLogic上运行了一个Web应用程序。该应用程序支持JasperReports,并且已经运行了好几年。

最近,一些用户开始使用更复杂的JRXML文件。报告的幕后Java文件现在包含条件操作“?:”。

表达式:

<variable name="Start_Date" class="java.util.Date">
   <variableExpression><![CDATA[]]></variableExpression>
   <initialValueExpression><![CDATA[
$P{Period}.intValue()==1 ?
DateUtils.truncate(DateUtils.addMonths(new Date(),-1), java.util.Calendar.MONTH)
:
$P{Period}.intValue()==2 ?
DateUtils.truncate((DateUtils.addWeeks(new Date(),-1)),java.util.Calendar.DATE)
:
$P{Period}.intValue()==3 ?
DateUtils.truncate((DateUtils.addDays(new Date(),-1)),java.util.Calendar.DATE)
: new Date()]]></initialValueExpression>
</variable>

我收到编译错误:

Error evaluating expression : 
Source text : 
$P{Period}.equals(new Integer(1)) 
? 
DateUtils.truncate(DateUtils.addMonths(new Date(),-1),java.util.Calendar.MONTH)
:
  $P{Period}.equals(new Integer(2)) 
  ?
  DateUtils.truncate((DateUtils.addWeeks(new Date(),-1)),java.util.Calendar.DATE)
  :
  new Date()
  ;

我目前的猜测是,因为“?:”来自JDK 1.5,所以JasperReports可能会将编译器设置为vesion 1.4。

  • JDT编译器在Weblogic路径中设置。它的版本是1.6。
  • WebLogic 10.3
  • JasperReports 3.5
  • iReport 4.1.3 - 但设置为JR 3.5

请让我知道我错过了什么。

我需要配置属性吗?

0 个答案:

没有答案