当前位置: 首页 > 知识库问答 >
问题:

在jrxml文件中设置输入控件的名称。有可能吗?

嵇财
2023-03-14

我想在定义它的jrxml文件中设置输入控件的名称;这可能吗?

我知道如何通过Jaspersoft Studio中的Repository Explorer设置输入控件的名称,也知道如何通过Jaspersoft服务器设置输入控件的名称。

但是,我想在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>

共有1个答案

沙靖琪
2023-03-14

正如@Siddharth在评论中指出的,以及一位同事向我建议的,有一种方法可以在用户界面之外指定控件的标签。

JasperReports Server将每个报告与一个XML文件相关联,该文件似乎是在将报告发布到服务器时创建的。除其他信息外,XML文件还包含任何输入控件的标签。

对于XML文件的示例,首先将报表发布到JasperReports服务器上的一个位置。对于此示例,报告文件名为< code>report.jrxml,位置为< code>path/to/your。JasperReports服务器似乎将您的报告发布到< code > path/to/your/report/Main Jr XML (根据jasper soft Studio Repository Explorer)或< code>path/to/your/report(根据JasperReports服务器Web UI)。

其次,从贾斯珀报告服务器导出您的报告(通过Web UI或通过命令行);贾斯珀报告服务器将生成一个包含以下内容的 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服务器,然后才能运行更改后的报告。

 类似资料:
  • 问题内容: 当用户在网页中选择文件时,我希望能够仅提取文件名。 我确实尝试过str.search函数,但是当文件名像这样时似乎失败: c:\ uploads \ ilike.this.file.jpg 。 我们如何仅提取不带扩展名的文件名? 问题答案: 假设您的 < input type =“ file”>具有上 载 ID,则有望实现这一目标:

  • 问题内容: 当前,我们的应用程序使用javax.mail.MailMessage使用javax.mail发送电子邮件。我们通过以下方式设置电子邮件的“发件人”标题: 这样做很好,但我们希望使“发件人”部分更加用户友好。当前,收到电子邮件的人将在其收件箱的“发件人”部分中看到“ mail@companyxyz.com”。相反,我们希望他们在那里看到“ XYZ公司”。我认为这可能是通过addHeade

  • 我正在使用JavaMailSender通过我的gmail帐户向我的客户发送电子邮件。在我的gmail帐户设置中,我可以将值设置为“发送邮件为”,以便在客户端电子邮件中显示我的自定义名称。例如,如果我用gmail发送电子邮件,我的客户端电子邮件将显示以下内容: 发件人:这是我的自定义名称(不是我的电子邮件地址) 致:client-email@mail.com 主题 身体... 如何在Spring中设

  • 问题内容: 我 是否 必须删除文件名中的所有空格才能将其导入,或者是否可以通过某种方式知道是否存在空格? 问题答案: 您应该从文件名中删除空格。由于文件名被用作导入模块的标识符(即将被导入为),而Python标识符不能有空格,因此该语句不支持此操作。 如果由于某些原因 确实 需要执行此操作,可以使用以下函数: 这将导入为。这与该语句的行为略有不同,应避免使用它。

  • 问题内容: 有没有一种方法可以设置文件输入()的值,还是为了安全起见将其全部阻止?我正在尝试使用Google Gears的openFiles创建一个简单的多上传器。 注意: 以下答案反映了2009年旧版浏览器的状态。现在,您实际上可以在2017年使用JavaScript动态/以编程方式设置文件输入元素的值。 有关详细信息和演示,请参见此问题的答案: 如何以编程方式设置文件输入值(即:拖放文件时)?

  • 当我给出命令时,我得到默认配置文件的以下输出: 然而,当我给一个命名的配置文件的命令时,我得到了一个配置文件名 我曾尝试通过读取'set'CLI命令将默认配置文件命名为,我还尝试了,因为我认为在阅读本页后,变量的命名就是这样的。我之所以要这样做,是因为我想要有两个配置文件,并且我想要使用环境变量在配置文件之间切换。