Jasper Reports 文档对此问题保持沉默,并且 JRDataSource 接口(interface)未明确允许访问当前 bean。如果你想调用一些非属性方法,当前的bean句柄非常有用。
到目前为止,我在 jasper 报告源中找到的唯一解决方案是在报告中使用 _THIS 字段并在其上调用所需的方法:
${_THIS}.computeSomeValue()
是否有更好、更标准的方法?
最佳答案
我通常使用扩展 JRDefaultScriptlet 的 custom_Scriptlet(如果我需要与我的 bean 相关的任何其他方法调用)。我认为更好的方法就是收集您需要的所有数据(在您的 bean 中作为带有 setter/getter 方法的实例变量,或者在填写报告时作为参数传递)。
这样您就可以让属性 bean 方法处理其余的事情。
关于java - 在 Jasper Reports 中迭代 JRBeanCollectionDataSource 时如何获取当前 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8002117/