Vous pouvez utiliser cette expression:
<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>
Le résultat sera:
file.exe
Et pour la url = "just_file_wout_url.txt"
le résultat sera:
just_file_wout_url.txt
Pour votre cas, l'expression sera:
$F{fupgrade_package_name}.contains("/") ? $F{fupgrade_package_name}.split("/")[$F{fupgrade_package_name}.split("/").length-1] : $F{fupgrade_package_name}
mais, dans votre réponse, "url" doit être un champ, c'est un par ligne de données de la requête. Cela ne doit-il pas être un paramètre? – reza
@reza Ce n'est pas grave - c'est juste un échantillon. Vous pouvez le changer dans le champ - '$ F {url}'. Mais l'expression est correcte –
Pour votre cas, l'expression sera: '$ F {fupgrade_package_name} .contains ("/")? $ F {fupgrade_package_name} .split ("/") [$ F {fupgrade_package_name} .split ("/"). Longueur-1]: $ F {fupgrade_package_name} ' –