【发布时间】:2011-11-15 20:39:57
【问题描述】:
我正在使用 JSF 2.0 和 RichFaces 3.3。在我的视图中,用户将从日历中选择一个日期。使用的标签是<rich:calendar>。这在带有Date 对象的支持bean 中映射。然而,这个字段是可选的,因此当用户没有选择一个日期时,这个特定条目的支持 bean getter 返回null,这是正确的。
我的问题是我必须将此日期存储在数据库中。因此,在存储之前,我以这种方式进行类型转换:
if (newProfile.get(Constants.DETAILS_EXPIRY_DATE_1).equals(null)) {
this.cStmt.setDate(15,null);
} else {
java.sql.Date sqlDate = new java.sql.Date(((java.util.Date)newProfile.get(Constants.DETAILS_EXPIRY_DATE_1)).getTime());
this.cStmt.setDate(15,sqlDate);
}
但是它在if 条件中抛出了NullPointerException。当用户没有选择日期时,我想在 DB 中插入 null 值。我该怎么做?
【问题讨论】:
-
发布堆栈跟踪。从外观上看,如果它只能来自“newProfile”,则表示它没有被初始化,与做无关。
-
@Shahzeb,也可能是
newProfile.get(Constants.DETAILS_EXPIRY_DATE_1)返回了null。 -
真@The。 Ankit post stacktrace 还显示了更多代码。
-
是的...那行返回 null 但这就是为什么我要检查 null 值...我知道什么时候不会选择一个日期它会有 null 值..因为它包含空值我将存储空值而不进行类型转换..但是如果条件本身抛出空指针异常。
标签: java date jsf-2 richfaces nullpointerexception