关于从数据库所查内容显示null的问题
我用JSP+ORACLE做的网业,在页面上显示从数据库中所查询的内容,如果数据库中的记录为空的话就在页面上现实null,这挺影响美观的,哪位高手知道怎么把这个null去掉.
------解决方案--------------------xxx==null? " ":xxx
------解决方案--------------------这个不是很简单嘛?你要是用jsp显示你就判断一下! 如果==null就别显示不就得了!
------解决方案--------------------直接写在SQL里面也可以,在可能为NULL的字段上使用函数nvl
------解决方案--------------------select nvl(expr1,expr2) from tablename;
nvl(expr1,expr2),如果expr1不是null则返回expr1,否则返回expr2
------解决方案--------------------可以在bean 里定义一下
/**
* 判断字符串是否为空
*
* @param str
* @return
*/
public class FunctionBean{
public static String getStrIsEmpty(String str) {
if (str == null) {
return " ";
}
return str;
}
}
在JSP页面调用的时候Function.getStrIsEmpty(rs.getString( "... "))
写在一个BEAN里就可以通用了
------解决方案--------------------在JSP里面判断
<% If (rs.Fields( "XXX ").Value!= " " && rs.Fields( "XXX ").Value!=NULL) Then %>
<td> <%=rs.Fields( "XXX ").Value%> </td>
<% Else %>
<td> </td>
<% End If %>
这样可以不?
------解决方案--------------------楼上的建议都可以实现,无非就是替换。
1:在数据库中;
2:在JAVABEAN中;
3:在JSP中。
------解决方案--------------------1在数据库中 操作 如果查询到null的时候 显示“无”
2用re.next()if 查询的数据是null,让显示的数据为“无”
。。。
方法很多
------解决方案--------------------在jsp页面判断一下不就得了
xxx==null? "- ":xxx
------解决方案--------------------从数据库取的时候就可以判断:
select case when column is null then ' ' else columnvalue from dual
------解决方案--------------------在数据库中取记录时就可以控制
select nvl(column, " ") from table where ...
------解决方案--------------------表达式nvl( expression,result )
如果expression 不空,结果就是这个
如果expression为空,结果就是result
------解决方案--------------------在页面上使用Logic判断:
<logic:notEqual name= " " value= "null ">
显示
</logic:notEqual>
还有logic:notEmpty标签可以考虑。