表达式是JasperReports的一个强大功能。它们可被用来声明那些执行多种计算的报表变量,用来在报表上数据分组,用来指定报表文本字段的内容或更进一步定制报表上对象的外观。
基本上所有的报表表达式都是通过特殊的语法可引用到报表参数,报表字段,报表变量和报表资源绑定的Java表达式。
在XML报表设计中有几个元素定义表达式:
<variableExpression>, <initialValueExpression>, <groupExpression>, <printWhenExpression>, <imageExpression>, <textFieldExpression> and others.
因为所有的JasperReports表达式是真正的Java表达式,你可以在它们中使用任何你想用的类。只要你使用其全类名(包括包)来引用它。当你编译你的报表并且你以数据填充它时,你也应确保你在报表表达式中使用的类是在classpath中的变量。
如果没有办法引用报表参数,报表字段或声明报表参数,报表表达式将没有什么用处。非常幸运,有一个特别的JasperReports语法充许你在创建XML报表设计时在表达式中引进这种的引用。