JasperReports表达式:将Groovy表达式转换为Java表达式

时间:2016-06-22 08:37:25

标签: java groovy jasper-reports

我无法弄清楚如何将Groovy表达式转换为Java表达式。 我是Java中的一个完整的菜鸟,所以无法转换它。

我有一个JasperReports服务器自定义报告模板,我想在从AdHoc视图创建报告时使用它。由于客户的要求,我创建了几个变量,以计算该模板上的上周五日期。它是用Groovy编写的。但是,当列上有度量时,它会失败。在挖掘了Jasper论坛后,我发现当前Crosstab AdHoc不支持Groovy表达式,唯一的方法是将我的Groovy表达式转换为Java,这应该排序问题。

但正如我所说,我在Java中完全没有,因此,需要一些帮助,或者至少,任何人都可以给我一些指导方向吗?

这是我想要转换为Java的Groovy表达式:

($V{Calendar}.set($V{Today}.getYear()+1900, 
  $V{Today}.getMonth(), $V{Today}.getDate()) || 
  $V{Calendar}.add(Calendar.DAY_OF_MONTH, 
  IF ($V{Calendar}.get(Calendar.DAY_OF_WEEK)==Calendar.FRIDAY, -7, 
  IF($V{Calendar}.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY, -1, -7 + (Calendar.FRIDAY - $V{Calendar}.get(Calendar.DAY_OF_WEEK))))))? null : $V{Calendar}.getTime()

0 个答案:

没有答案