我想在定义它的jrxml文件中设置输入控件的名称;那可能吗?
我知道如何通过Jaspersoft Studio中的Repository Explorer设置输入控件的名称,我知道如何通过Jaspersoft Server设置输入控件的名称。
但是,我想在jrxml文件中设置输入控件的名称,以便在发布到服务器时自动设置它。是否有可使用的属性,类似于以下内容:
<parameter name="status_date_minimum" class="java.sql.Date">
<property name="some.property.key" vhalue="Minimum Status Date"/>
<defaultValueExpression><![CDATA[java.sql.Date.valueOf(java.time.LocalDate.now().minusYears(10).withMonth(1).withDayOfMonth(1))]]></defaultValueExpression>
</parameter>
答案 0 :(得分:0)
@Siddharth在评论中指出并由同事向我建议,有一种方法可以在用户界面之外指定控件的标签。
JasperReports Server将每个报告与一个XML文件相关联,该文件似乎是在将报告发布到服务器时创建的。除其他信息外,XML文件还包含任何输入控件的标签。
有关XML文件的示例,请首先将报表发布到JasperReports Server上的某个位置。出于此示例的目的,报告文件名为report.jrxml
,位置为path/to/your
; JasperReports Server似乎将您的报告发布到path/to/your/report/Main jrxml
(根据JasperSoft Studio资源库资源管理器)或path/to/your/report
(根据JasperReports服务器Web UI)。
其次,从JasperReports Server(via the Web UI或via the command line)导出报告; JasperReports Server将生成一个包含以下内容的zip文件:
/index.xml
/resources/path/.folder.xml
/resources/path/to/.folder.xml
/resources/path/to/your/.folder.xml
/resources/path/to/your/report.xml
/resources/path/to/your/report_files/main_jrxml.data
main_jrxml.data
包含report.jrxml
的数据; report.xml
包含任何输入控件的标签。 report.xml
的内容可能类似于以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<reportUnit exportedWithPermissions="true">
<folder>/resources/path/to/your</folder>
<name>report</name>
<version>2</version>
<label>report</label>
<description></description>
<creationDate>2018-03-21T18:12:41.759-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<mainReport>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" dataFile="main_jrxml.data" xsi:type="fileResource">
<folder>/resources/path/to/your/report_files</folder>
<name>main_jrxml</name>
<version>4</version>
<label>Main jrxml</label>
<creationDate>2018-03-21T18:12:41.759-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.410-04:00</updateDate>
<fileType>jrxml</fileType>
</localResource>
</mainReport>
<inputControl>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" xsi:type="inputControl">
<folder>/resources/path/to/your/report_files</folder>
<name>status_date_minimum</name>
<version>1</version>
<label>status_date_minimum</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>2</type>
<mandatory>false</mandatory>
<readOnly>false</readOnly>
<visible>true</visible>
<dataType>
<localResource exportedWithPermissions="false" xsi:type="dataType">
<folder>/resources/path/to/your/report_files/status_date_minimum_files</folder>
<name>myDatatype</name>
<version>0</version>
<label>myDatatype</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>3</type>
<strictMin>false</strictMin>
<strictMax>false</strictMax>
</localResource>
</dataType>
</localResource>
</inputControl>
<inputControl>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" xsi:type="inputControl">
<folder>/resources/path/to/your/report_files</folder>
<name>status_date_maximum</name>
<version>1</version>
<label>status_date_maximum</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>2</type>
<mandatory>false</mandatory>
<readOnly>false</readOnly>
<visible>true</visible>
<dataType>
<localResource exportedWithPermissions="false" xsi:type="dataType">
<folder>/resources/path/to/your/report_files/status_date_maximum_files</folder>
<name>myDatatype</name>
<version>0</version>
<label>myDatatype</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>3</type>
<strictMin>false</strictMin>
<strictMax>false</strictMax>
</localResource>
</dataType>
</localResource>
</inputControl>
<alwaysPromptControls>true</alwaysPromptControls>
<controlsLayout>1</controlsLayout>
</reportUnit>
您可以编辑reportUnit/inputControl/localResource/label
元素的内容以更改标签的名称。
编辑完成后,您可以将数据导入JasperReports服务器。如果你通过命令行导入,我建议导入目录,而不是zip文件 - 看起来命令行导入是关于zip格式的挑剔。此外,如果通过命令行导入,则必须重新启动JasperReports服务器,然后才能运行更改的报告。