当我解析文本字段以获取日期时,它是可以的 . 但是如果这个文本字段为空,因为数据库中没有数据,我得到一个例外 . 即使字段为空,如何使其工作?

我使用: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:计算表达式时出错:源文本:new java.text.SimpleDateFormat(“MMMM dd,yyyy HH:mm”) . format(new java.text.SimpleDateFormat(“yyyy-MM-dd.HH.mms.ss . ”) . parse(“”$ F ))