我用下面的函数解决了,字符型纪录显示null,变成显示为空<%! 
String replacenull(String a){
if(a==null){
return "&nbsp;"; 
}else{
return a; 
}

%>但是如果把replacenull()函数用于日期类型的纪录就不行。
请问还有什么方法可以让我的日期纪录为空的不显示null呢
求教

解决方案 »

  1.   

    是这样的,<%=rs.getDate("Date") %> 显示字段Date下的数据,为日期型,数据为空时,
    表单上就会显示null。这样如果我要修改表单的时候就非常麻烦,因为null我得把它删成空,否则无法修改数据库表中的该日期字段。如果我用<%=replacenull(rs.getDate("Date") )%> 就会出错因为replacenull是针对字符串进行的替换。我不知道怎么解决帮忙
      

  2.   

    Date不是有个toString方法么?
    <%Date date= new Date(rs.getDate("Date") );%>
    <%=replacenull(date.toString() )%>
    试试哈,我没在机子上试过。
      

  3.   

    楼上说的可能会报空指针错误再写一个方法
    <%! 
    String replacenull(Date a){
    if(a==null){
                   return "&nbsp;"; 
    }else{
                   SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
                   return bartDateFormat.format(a)).toString();
    }

    %>
      

  4.   

    String replacenull(Object obj)
    {
    if(obj==null)
    {
    return "&nbsp;";
    }
    else
    {
    return obj.toString();
    }
    }
      

  5.   

    Object replacenull(Object a){
    }
      

  6.   

    各位,你们提供的方法确实能解决问题,非常不错无为的方法比较简单 String replacenull(String a)
    可以直接改为   Object replacenull(Object a)但是又一个问题出来了,虽然这么做表单上可以显示为空,但是如果我有一个表单要更新数据,
    日期为空的,把显示出来的值更新回数据库,就会报错,必须要清除一下才行,这个我就不明白可能是置换后,原来的null变成了字符串&nbsp,唉
    stmt.executeUpdate("update Tab set UPTODATE=to_date('"+utdate+"','yyyy-mm-dd') )
    结果就报错非要清除一下日期,或者填入新的日期才行怎么办