Jasper:从url打开输入流时出错
我正在使用iReport设计jasper报告,它接受一个参数并从给定URL获取一个图像: 该参数是twitter中用户的屏幕名称,url是其个人资料图像Jasper:从url打开输入流时出错,url,input,jasper-reports,Url,Input,Jasper Reports,我正在使用iReport设计jasper报告,它接受一个参数并从给定URL获取一个图像: 该参数是twitter中用户的屏幕名称,url是其个人资料图像 <image> <reportElement x="4" y="51" width="73" height="64"/> <imageExpression><![CDATA["https://api.twitter.com/1/users/profile_im
<image>
<reportElement x="4" y="51" width="73" height="64"/>
<imageExpression><![CDATA["https://api.twitter.com/1/users/profile_image?screen_name="+$F{user_screen_name}+"&size=bigger"]]></imageExpression>
</image>
如何在jrxml文件中处理这种情况
我想简单地添加一个固定的URL地址,以防找不到
有人有什么建议吗
谢谢大家! 我认为您需要添加一个额外的helper类来处理这个问题。您需要一个静态方法
boolean-urlExists(String-url)
,该方法允许您将其放入imageExpression中:
MyClass.urlExists($F{image_url}) ? $F{image_url} : $P{fallback_image}
这将是一个简单的类来编写。。。但显然,添加另一个.jar文件会增加复杂性。如果没有这个方法,我就看不到任何方法可以在.jrxml中进行处理。在jrxml文件中,
要显示url资源中的图像,请使用图像表达式url()
如下所示,例如,$F{ADPN_NO}
是来自报告的参数
<imageExpression><![CDATA[new URL("http://anyserver:7001/images/"+$F{ADPN_NO}+".jpg")]]></imageExpression>
当出现onError
错误时,它将显示空白项、图标或jrxml上设置的错误
另一种方式是,在jrxml文件之外,您可以使用java映射对象,该对象包含由
URL()
或file()异常检查的img URL 在我的例子中,我有一个报告,我“注入”了图像的url,它导致了证书的错误(我“注入”的url有IP,它必须是证书的名称)。在我更改url后,它工作了
<imageExpression><![CDATA[new URL("http://anyserver:7001/images/"+$F{ADPN_NO}+".jpg")]]></imageExpression>