私はJSF 2.0とRichFaces 3.3を使用しています。私のビューでは、カレンダーから日付を取得します。使用されるタグは<rich:calendar>
です。これはDate
オブジェクトのバッキングBeanにマップされます。ただし、このフィールドはオプションです。したがって、ユーザーが日付を選択しなかった場合、この特定のエントリのバッキングビーンゲッターはnull
を返します。DateオブジェクトのNull値を確認する方法
私の問題は、この日付をDBに保存する必要があることです。だから、格納する前に、私はこの方法でそれをキャスト入力しています:
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
を投げているが。ユーザーが日付を選択していないときにnull
の値をDBに挿入します。これどうやってするの?
ポストスタックトレースになりたい場合。あなたがnullpointを取得しているかどうかを調べることによって、 'newProfile'からのみ可能であるかどうかは、初期化されていないことを意味します。doとは関係ありません。 – Shahzeb
@Shahzeb、 'newProfile.get(Constants.DETAILS_EXPIRY_DATE_1)'が 'null'を返すこともあります。 –
true @The。 Ankitのpost stacktraceはさらにいくつかのコードを示しています。 – Shahzeb