<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<%@page import="xinxi.com.list"%>
<jsp:useBean id="db" scope="page" class="xinxi.com.DataBase"/>
<jsp:useBean id="bl" scope="page" class="xinxi.com.list"/>
<html>
<head>
<title>欢迎使用通信数据交换系统</title>
</head>

<body bgcolor="#44AABB">

<p align="center">
<font color=block>
欢迎使用通信数据交换系统
</font>
<p align="center"><b><font color="block">通信列表</font></b></p>
     
          <table width="100%" border="" cellspacing="1" cellpadding="1" bordercolor="block">
          <tr align="center" bgcolor="#DEF3CE"> 
            <td>编号</td>
            <td>号码</td>
            <td>姓名</td>
            <td>时间</td>
            <td width=110>操作</td>
          </tr>
            
      <%   
           String sqlStr="select * from tongxin";
           ResultSet rs=db.executeQuery(sqlStr);
           Vector booklist =new Vector();
          while(rs.next())
          {  
             
             bl.setId(rs.getInt("Id"));
             bl.setNumber(rs.getString("Number"));
             bl.setName(rs.getString("Name"));
             bl.setTime(rs.getString("Time"));
             booklist.addElement(bl);
         
         }         
                 
       
         for(int i=0;i<booklist.size();i++)
         {
         list su=(list)booklist.elementAt(i);
      
      
      %>
       <tr>
       
              <td align="center"><b><%=su.getId()%></b></td>
              <td align="center"><b><%=su.getNumber()%></b></td>
              <td align="center"><b><%=su.getName()%></b></td>
              <td align="center"><b><%=su.getTime()%></b></td>

解决方案 »

  1.   

    问题在这个地方
                 bl.setId(rs.getInt("Id"));
                 bl.setNumber(rs.getString("Number"));
                 bl.setName(rs.getString("Name"));
                 bl.setTime(rs.getString("Time"));
                 booklist.addElement(bl);
    你每次都是给bl赋值,而这个对象只是一份,你没有新建bl对象,所以往list中加的只是这一个对象而已,当然会是一样的数据,而且还是最后一条数据.你往list中加完之后要重新创建一个对象bl.
      

  2.   

    同意楼上echomyf(ECHO)的意思见,
    你要在循环里面创建对像bl,
    要不你总是显视数据库里最后一条的记录
      

  3.   

    我也同意echomyf(ECHO) 的说法!我也是这么想的!
      

  4.   

    while(rs.next())
              {  
                 list bl=new list();
                 bl.setId(rs.getInt("Id"));
                 bl.setNumber(rs.getString("Number"));
                 bl.setName(rs.getString("Name"));
                 bl.setTime(rs.getString("Time"));
                 booklist.addElement(bl);
    是这样吗?
    可是还是不对呀,能否说的明白点,我有点不理解,间凉了
      

  5.   

    搞定了,把上边的bean 去掉就可以了,多谢了,以后还望大家多帮助一下,