Jasper reports 如何从报表中访问jasper报表属性,以指定每个开发人员计算机上的根目录位置?
我有一个报告,其中我将ROOT_DIR定义为一个参数。当我在servlet中呈现报告时,我会传递这个消息 大概是这样的:Jasper reports 如何从报表中访问jasper报表属性,以指定每个开发人员计算机上的根目录位置?,jasper-reports,ireport,Jasper Reports,Ireport,我有一个报告,其中我将ROOT_DIR定义为一个参数。当我在servlet中呈现报告时,我会传递这个消息 大概是这样的: <parameter name="ROOT_DIR" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA["/Some/Path/To/Reports"]]></defaultValueExpression>
<parameter name="ROOT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["/Some/Path/To/Reports"]]></defaultValueExpression>
</parameter>
<parameter name="IMAGES_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA[$P{ROOT_DIR}+"/images"]]></defaultValueExpression>
</parameter>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA[$P{ROOT_DIR}+"/"]]></defaultValueExpression>
</parameter>
我的问题是,我们现在有更多的开发人员在处理这些报告,因此我想找到一种方法,避免每个人在提交到git workspace/home目录时都更改ROOT_DIR上的defaultValueExpression
我想我们可以在iReport中使用属性(Preferences->iReport->Jasper Report Properties选项卡),但我似乎找不到从defaultValueExpression引用这些值的方法
有没有办法从报表中访问这些属性?或者其他建议来实现这一点?可以在资源包的帮助下完成 您可以创建资源文件,然后在语法的帮助下使用“变量” 样本 文件夹结构为: reports images Number1.png 资源文件的名称是在报表的属性resourceBundle的帮助下设置的 在我的示例中,我设置了如下属性:
resourceBundle=“folders”
您可以这样做,例如在iReport中:
jrxml文件:
报告在iReport中的设计:
结果将是(通过iReport中的预览):
开发团队中的每个成员都可以更改属性文件中的路径(由ROOT\u DIR键设置),此解决方案将在不使用Java代码和模板重新编译的情况下工作
注释:
该文件应称为folders.properties?并位于.jrxml文件旁边?我已在回答中添加了信息“资源束”必须在数据集上设置,例如
报告->杂项->主数据集->资源束
。必须在Jasper Report Studio(Eclipse)中搜索它。
ROOT_DIR=/reports