gpt4 book ai didi

java - 转换异常: Unparseable date on Jasper reports

转载 作者:行者123 更新时间:2023-12-02 08:29:49 25 4
gpt4 key购买 nike

我正在开发一个使用 Jasper 报告的系统。最近它开始抛出此错误:

org.apache.commons.beanutils.ConversionException: Unparseable date: "03/03/1981"
at org.apache.commons.beanutils.locale.BaseLocaleConverter.convert(BaseLocaleConverter.java:241)
at org.apache.commons.beanutils.locale.LocaleConvertUtilsBean.convert(LocaleConvertUtilsBean.java:285)
at net.sf.jasperreports.engine.data.JRAbstractTextDataSource.convertStringValue(JRAbstractTextDataSource.java:69)
at net.sf.jasperreports.engine.data.JRXmlDataSource.getFieldValue(JRXmlDataSource.java:313)
at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:823)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:787)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1478)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:125)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:860)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at XmlJasperInterface.report(XmlJasperInterface.java:89)
at XmlJasperInterface.main(XmlJasperInterface.java:63)
Caused by: java.text.ParseException: Unparseable date: "03/03/1981"
at java.text.DateFormat.parse(DateFormat.java:337)
at net.sf.jasperreports.engine.util.JRDateLocaleConverter.parse(JRDateLocaleConverter.java:84)
at org.apache.commons.beanutils.locale.BaseLocaleConverter.convert(BaseLocaleConverter.java:232)
... 13 more

我不确定是什么原因造成的。我们最近还升级了 Jasper 报告,但我记得升级后它可以正常工作。

我发现了一篇名为 BeanUtils, Digester, and Type Conversion 的博客文章哪个点添加这些行:

String pattern = "MM/dd/yyyy";
Locale locale = Locale.getDefault();
DateLocaleConverter converter = new DateLocaleConverter(locale, pattern);
converter.setLenient(true);
ConvertUtils.register(converter, java.util.Date.class);

但他们什么也没改变。我仍然遇到同样的错误。

触发错误的行是这一行:

jasperPrint = JasperFillManager.fillReport(jasperReport, null, new JRXmlDataSource(System.in, selectCriteria));

谢谢。

更新:将 Jasper Reports 降级到 1.1.0 使其再次工作,因此很可能是升级破坏了它。

最佳答案

您需要在数据源中设置日期模式,如下所示:

JRXmlDataSource datasource = new JRXmlDataSource(....);
datasource.setDatePattern("MM/dd/yyyy");

关于java - 转换异常: Unparseable date on Jasper reports,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3718405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com