我有一个字段{$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)
就是答案。详情请见以下文章。
答案 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 {消息})。