当我解析文本字段以获取日期时,它没问题。 但是如果这个文本字段为空,因为数据库中没有数据,我得到一个例外。 即使字段为空,如何使其工作?
我用: Jasperreports 5.6通过API,所以我得到的异常不是在iReport中,而是在执行我的java代码时; 文本字段的初始源是oracle.Timestamp
与描述here类似,我尝试插入以下内容:
$F{INCLUDE_TIME} == null ? "" : new java.text.SimpleDateFormat("MMMM dd, yyyy HH:mm").format(new java.text.SimpleDateFormat("yyyy-MM-dd.HH.mm. ss.").parse($F{INCLUDE_TIME}))
但是,如果我使用iReport生成报告,这会有效,而当我使用jasperreports引擎从Java代码通过API执行此操作时会失败。
该字段是:
<field name="INCLUDE_TIME" class="java.lang.String"/>
我的例外是:
18:19:53,564 ERROR在generateReport中出现异常: net.sf.jasperreports.engine.fill.JRExpressionEvalException:错误 评估表达式:源文本:新的 java.text.SimpleDateFormat(&#34; MMMM dd,yyyy HH:mm&#34;)。format(new java.text.SimpleDateFormat中(&#34; yyyy-MM-dd.HH.mm。 SS&#34;)解析(&#34;&#34 + $ F {INCLUDE_TIME}))