大家好 我是ee初学者遇到一个问题 希望大家能够给我解答 
//这个是把mysql里面的所有的数据读取出来 ,然后放到Login l里面去
public Login showall(){
Login l=new Login();

try {
Connection conn = (Connection) MySqlConnection.getMySqlConnection()
.getConnection();
Statement sm = conn.createStatement();
ResultSet rs = sm.executeQuery("select * from customer");
while (rs.next()) {
l.setName(rs.getString("name"));
l.setPhone(rs.getString("phone"));
}
} catch (SQLException e) {
e.printStackTrace();
}

return l;

}//这个是Loginpublic class Login {
private String name;
private String phone;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
这个是我的jsp页面  InterfaceImp ii = new InterfaceImp();
Login l = new Login();
l = ii.showall();
out.print("姓名:" + l.getName() + "\n");
out.print("号码:" + l.getPhone() + "\n");这样外面显示出所有的姓名和密码吗?

解决方案 »

  1.   

    不可以的,要想显示出所有的数据必须把从数据库中取得的数据放到一个List中!
      

  2.   

    我对这几句代码很是无语while (rs.next()) {
    l.setName(rs.getString("name"));
    l.setPhone(rs.getString("phone"));
    }
      

  3.   

    不可以的,要想显示出所有的数据必须把从数据库中取得的数据放到一个List中!
      

  4.   

    //这个是把mysql里面的所有的数据读取出来 ,然后放到Login l里面去楼主这句话
    这样是不行的,你的login l只是一个login实例,所有数据应该是对应相应记录数目的实例,分别生成实例放到一个list中,这样才对
      

  5.   

    得定义个list型的对象数组,然后把取到的对象一个个添加到数组里面去。记住,你数据库中查到一行的记录就是一个对象!如果有多行记录的话必须用对象数组来存储!
      

  6.   

    实际上显示不出的最主要问题有2个:
    1、是showall()方法在填充了Login对象后,并没有把这个对象放到SCOPE中,这样就导致无法在JSP页面中获取到。
    2、如果JSP页面中用了:
    Login l = new Login();
    后,等于是又实例化了一个新的对象,并且获取的又是这个新创建的对象的属性,因此可以肯定JSP页面是无法显示出值的(没有问题的话应该显示为null)。要正确显示可以先在showall()方法完成填充后将对象放到SCOPE中,然后在JSP页面中获取SCOPE中的对象,最后显示出该对象中的属性值。