Джаспер отчеты и параметры отчета - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть отчет о яшме с полем $ F {fupgrade_package_name}

поэтому, когда я запускаю свой запрос, для параметра upgrade_package_name устанавливается значение http://www.something.com/file.exe

Я хочу, чтобы в отчете отображался только file.exe, а не полный URL.

Как это сделать?

Спасибо

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Вы можете использовать это выражение:

<parameter name="url" class="java.lang.String" isForPrompting="false">
    <defaultValueExpression><![CDATA["http://www.something.com/file.exe"]]></defaultValueExpression>
</parameter>

<textField>
    <reportElement x="122" y="28" width="100" height="20"/>
    <textElement/>
    <textFieldExpression>
        <![CDATA[$P{url}.contains("/") ? $P{url}.split("/")[$P{url}.split("/").length-1] : $P{url}]]></textFieldExpression>
</textField>

Результат будет:

file.exe

А для url = "just_file_wout_url.txt" результат будет:

just_file_wout_url.txt

Для вашего случая выражение будет:

$F{fupgrade_package_name}.contains("/") ? $F{fupgrade_package_name}.split("/")[$F{fupgrade_package_name}.split("/").length-1] : $F{fupgrade_package_name}
0 голосов
/ 23 ноября 2011

вы можете обрабатывать $F{fupgrade_package_name}.split(regex)[0] как строку, вы будете использовать регулярное выражение.

...