嵌套Jasper表达式

时间:2011-07-26 13:55:22

标签: grails groovy jasper-reports

我有一个字段{$P{ORDER}.permit),Integer(0,1),我想将其显示为String(“否”,“是”) 。所以我将以下键添加到ResourceBoundle

order.permit.0=No
order.permit.1=Yes

我写了表达式$R{order.permit.$P{ORDER}.permit},但它不起作用。抛出异常

  

net.sf.jasperreports.engine.JRException:太多的groovy类了   产生。请确保您不使用诸如的Groovy功能   此报告编译器不支持的闭包。

我怀疑这个异常是由嵌套jasper表达式或以错误的方式嵌套而引起的。

我应该如何编写表达式以达到预期的效果?

编辑:str("order.permit." + $P{ORDER}.permit)就是答案。详情请见以下文章。

1 个答案:

答案 0 :(得分:2)

使用str()代替$R{}

另见http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=54665

  

$ R {}和str()在很大程度上是一回事。功能差异   是$ R {}只能用于固定/静态键,而str()可以   与动态消息密钥一起使用,例如str(“message.prefix。”+   $ P {消息})。