Re: Date and null
teser3@hotmail.com wrote:
I have a Date variable in a JavaBean that works with a Oracle
Database.
If there is a Date value in the database it shows in the JSP with no
problems.
But if there is no value in the Date value it gives me a null error in
the JSP.
How do I account for null with a Date object?
Test the reference for "== null".
If there is not Date value I still want the page to show the Date
Title with nothing there.
For example:
JSP view example if there is a Date value:
Submit Date: June 25, 2007
JSP view example if there is not a Date value should show like this
but it doesnt show and gives me a null error:
Submit Date:
Well, what do you expect when you attempt to format a null value?
My classes and JSP:
Bean:
private Date subDate;
public String getSubDate(){
SimpleDateFormat formatter = new SimpleDateFormat ("MMMM dd,
yyyy");
You could set 'formatter' as a static final variable, since you never change it.
return formatter.format(this.subDate);
}
/*
Also tried this just to put a value in there if null but it didnt
work:
public String getSubDate(){
if((subDate == null)
This won't even compile. Are you sure this is what your code was?
{
subDate = null;
OK, having ascertained via the 'if' that 'subDate' is null, you then
redundantly set it to null yet again, accomplishing no change.
}
SimpleDateFormat formatter = new SimpleDateFormat ("MMMM dd,
yyyy");
return formatter.format(this.subDate);
It seems that you can't format a null date. Just return "" if 'subDate == null'.
}
*/
public void setSubDate(String subDate){
this.subDate= subDate;
}
Helper class:
while(rs.next()){
AddressRowBean row = new AddressRowBean();
row.setSubDate(rs.getDate("subDate"));
...
JSP Bean call:
Submit Date: <jsp:getProperty name="projectObject"
property="subDate" />
If you use Expression Language (EL), it does the right thing with null values.
Submit Date: <c:out value="${subDate}" />
However, SimpleDateFormat will still blow up on the null reference.
--
Lew