>0<那位大哥帮忙看一下啊!

解决方案 »

  1.   

    问题在这里:
    http://community.csdn.net/Expert/topic/3524/3524351.xml?temp=9.174746E-02具体说一下:用Bean封装数据操作的时候,在DiaryBean中写了二个方法,如下:
    public class DiaryBean
    {
    private Connection con;
    //构造方法,获得数据库的连接。
    public DiaryBean()
    {
    this.con=DBconn.getConnection();
    } //返回7个最新日记放到首页
    public Collection getFrontPageNewDiary()throws Exception
    {
    Statement stmt=con.createStatement();
    ResultSet rst=stmt.executeQuery("select ID,DiaryTitle,Addtime from diary order by ID desc limit 7");
    Collection ret=new ArrayList();
    while(rst.next())
    {
    Diary temp=new Diary();
    temp.setID(rst.getInt("ID"));
    temp.setDiaryTitle(rst.getString("DiaryTitle"));
    temp.setAddtime(rst.getDate("Addtime"));
    ret.add(temp);
    }
    con.close();
    return ret;
    }
    //返回7个最热日记放到首页
    public Collection getFrontPageHotDiary()throws Exception
    {
    Statement stmt=con.createStatement();
    ResultSet rst=stmt.executeQuery("select ID,DiaryTitle,Addtime from diary where BrowseAmount>50 order by ID desc limit 7");
    Collection ret=new ArrayList();
    while(rst.next())
    {
    Diary temp=new Diary();
    temp.setID(rst.getInt("ID"));
    temp.setDiaryTitle(rst.getString("DiaryTitle"));
    temp.setAddtime(rst.getDate("Addtime"));
    ret.add(temp);
    }
    con.close();
    return ret;
    }
    };这样就会返回二个集合,这二个集合我想在一个页里显示,就做了2个这样的循环
    <%
    //显示热门的日记
     Collection Hotdiary = DiaryBean.getFrontPageHotDiary();
     Iterator itHotDiary=Hotdiary.iterator();
     while(itHotDiary.hasNext())
    {Diary rs=(Diary)itHotDiary.next();
    out.print("<a href='showparty.jsp?id="+ rs.getID() +"'><font color='#FF0054'>"+ rs.getDiaryTitle() +"</font></a>");
    }
    //显示最新日记
     Collection Newdiary = DiaryBean.getFrontPageNewDiary();
     Iterator itNewDiary=Newdiary.iterator();
     while(itNewDiary.hasNext())
    {Diary rs=(Diary)itNewDiary.next();
    out.print("<a href='showparty.jsp?id="+ rs.getID() +"'><font color='#FF0054'>"+ rs.getDiaryTitle() +"</font></a>");
    }
    %>我不清楚具体这样显示对不对,如过单独做的话就没问题,这两个放到一起就出空指针错误!请达人指点
      

  2.   

    是不是不应该这么显示啊?显示代码是这样的,出空指针错误,单独放一个循环显示就没事 >0<
    <%@ page contentType="text/html; charset=gb2312"%>
    <%@ page language="java" import="java.sql.*"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.io.*"%>
    <%@ page import="database.*"%>
    <jsp:useBean id="DiaryBean" scope="page" class="database.DiaryBean"/>
    <jsp:useBean id="Diary" scope="page" class="database.Diary"/>
    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <link rel="stylesheet" href="css/css.css" type="text/css">
    <body marginwidth="0" leftMargin=0 topMargin=0>
    <table width="530" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="288"><div align="center">
            <%
     Collection Hotdiary = DiaryBean.getFrontPageHotDiary();
     Iterator itHotDiary=Hotdiary.iterator();
     while(itHotDiary.hasNext())
    {Diary rs=(Diary)itHotDiary.next();
    %>
            <table width="200" height="20" border="0" align="center" cellpadding="0" cellspacing="0" background="images/letter_bg.gif">
              <tr>
                <td><span class="style13"><span class="style5">·</span><span class="style7">
                  <%
    out.print("<a href='showparty.jsp?id="+ rs.getID() +"'><font color='#FF0054'>"+ rs.getDiaryTitle() +"</font></a>");
    java.sql.Date newstoday= new java.sql.Date(System.currentTimeMillis());
    String tday = newstoday.toString();
    String yday =rs.getAddtime().toString();
    out.print(" ");
    if(tday.equals(yday)) out.print("<img src=images/new.gif>");
    %>
                </span></span></td>
              </tr>
            </table>
            <%}%>
        </div></td>
        <td width="242"><div align="center">
            <%
     Collection Gooddiary = DiaryBean.getFrontPageHotDiary();
     //Iterator itGoodDiary=Gooddiary.iterator();
    //while(itGoodDiary.hasNext())
    //{Diary rs=(Diary)itGoodDiary.next();
     %>
          </div>
            <table width="200" height="20" border="0" align="center" cellpadding="0" cellspacing="0" background="images/letter_bg.gif">
              <tr>
                <td><span class="style13"><span class="style5">·</span><span class="style7">
                  <%
    %>
                </span></span></td>
              </tr>
            </table>
            <div align="center">
              <%//}%>
          </div></td>
      </tr>
    </table>
    </body>
    </html>
      

  3.   

    >0< 那位达人帮忙看一下哦,愁啊!如果我没写清楚,麻烦您说一声,我再解释!