出现空指针异常

来源:百度知道 编辑:UC知道 时间:2024/05/10 02:51:46
JSP的 . 这里有个方法 .是查询所有新闻的 .
public List selectallnews()
{
List list=new ArrayList();
conn=C.getconn();//连接数据库
String sql="select * from news";//SQL语句

try {
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
if(rs.next())
{
NewsTitle ti=new NewsTitle(rs.getInt("newsid"),rs.getString("newstitle"),rs.getString("newsauthor"),rs.getString("newscontents"),rs.getString("newstime"),rs.getString("newstype")); //丢进实体类
list.add(ti);
}

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally
{
C.closeconn(conn);//关闭连接
}

return list;
}
这里是 JSP 页面里的.
<body>
<%
Dao dao=new Dao();
NewsTitle ti=null;
List list=dao.selectallnews();

for(int i=0;i<list.size();

你的li 返回错误了
你应该吧方法的返回值 li分别写在try块和catch块里面
如下:
public List selectallnews()
{
List list=new ArrayList();
conn=C.getconn();//连接数据库
String sql="select * from news";//SQL语句

try {
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
if(rs.next())
{
NewsTitle ti=new NewsTitle(rs.getInt("newsid"),rs.getString("newstitle"),rs.getString("newsauthor"),rs.getString("newscontents"),rs.getString("newstime"),rs.getString("newstype")); //丢进实体类
list.add(ti);
}
return li;//返回集合li 值
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return null;//否则返回null 空集合;
}finally
{
C.closeconn(conn);//关闭连接
}

//return list; 错误
}

把错误贴出来
at com.xuchi.dao.Dao.selectallnews(Dao.java:31)
找了一阵没找出来,31行是哪一行

那麻烦你把31行是哪一行给标出来!