grails - 嵌套Jasper表达式

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

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

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

net.sf.jasperreports.engine.JRException: Too many groovy classes were generated. Please make sure that you don't use Groovy features such as closures that are not supported by this report compiler.



我怀疑此异常是由嵌套jasper表达式或以错误的方式嵌套它们引起的。

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

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

最佳答案

使用str()而不是$R{}

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

$R{} and str() are largely the same thing. The functional difference is that $R{} can only be used with fixed/static keys, while str() can be used with dynamic message keys, e.g. str("message.prefix." + $P{message}).

https://stackoverflow.com/questions/6831109/

相关文章:

security - Grails 中的真实性 token

grails - 为grails支架禁用sitemesh吗?

sockets - 通过Network.Browser进行Socks5连接

grails - 如何使Grails条件作为左联接执行?

windows - 从Windows终端远程运行Unix脚本并传回提示

grails - 在Grails中为ShiroUser指定软件包

php - 通过ssh2 sftp包装程序进行fopen会导致Chrome ERR_EMPTY_RE

Perl - 通过包含 require 指令的 SSH 远程运行脚本

grails - Grails命令对象和输入名称值

ssh - GitLab ssh 到本地用户的主机名导致 "fatal: Could not rea