当前位置: 代码迷 >> J2EE >> 明明查的全表的信息,为啥只重复显示一行
  详细解决方案

明明查的全表的信息,为啥只重复显示一行

热度:313   发布时间:2016-04-17 23:40:35.0
明明查的全表的信息,为什么只重复显示一行
数据库里有三行不一样信息,查出来是三行但是每行都是重复的,我就纳闷了,代码查了几遍也没看出问题,自学真是伤不起啊
重复的错误内容!

struts.xml
<action name="findalluser" class="com.lkx.action.FindAllUsersAction" method="findAllUsers">
<result name="success">/allusers.jsp</result>
<result name="input">/admin/allusers.jsp</result>
</action>

public class FindAllUsersAction extends ActionSupport {
private Users user = new Users();

public Users getModel() {
return user;
}
private String type;
public String findAllUsers()throws Exception{
UsersDAO dao = new UsersDAO();
List list = dao.findAllUses(user);
ActionContext.getContext().put("list", list); 
if("admin".equals(type)){  
return INPUT;  //管理员查询
}else{ return SUCCESS ;}//用户查询
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}

DAO
//查看所有用户
public List findAllUses(Users users) {
List list = new ArrayList();
con = DatabaseDAO.getConnection();
try{
pt = con.prepareStatement("SELECT * FROM users");
rs = pt.executeQuery();
while(rs.next()){
users.setId(rs.getInt(1));  
users.setUsername(rs.getString(2));
users.setPassword(rs.getString(3));
users.setName(rs.getString(4));
users.setNic(rs.getString(5));
users.setEmail(rs.getString(6));
users.setPhone(rs.getString(7));
users.setSelfshow(rs.getString(8));
list.add(users);
}
}catch (Exception e) {
// TODO: handle exception
}
return list;
}

jsp页面迭代
<s:iterator value="list">

<tr>
<td>
<s:property value="username" />
</td>
<td>
<s:property value="nic" />
</td>
<td>
<s:property value="name" />
</td>
<td>
<s:property value="email" />
</td>
<td>
<s:property value="phone" />
</td>
<td>
<s:property value="selfshow" />
</td>
</tr>
</s:iterator>


------解决思路----------------------
list中循环插入的为同一个user对象啊,重复覆盖
------解决思路----------------------

public?List?findAllUses()?{
????????List?list?=?new?ArrayList();
????????con?=?DatabaseDAO.getConnection();
????????try{
????????????pt?=?con.prepareStatement("SELECT?*?FROM?users");
????????????rs?=?pt.executeQuery();
????????????while(rs.next()){
                User users=new User();
????????????????users.setId(rs.getInt(1));??
????????????????users.setUsername(rs.getString(2));
????????????????users.setPassword(rs.getString(3));
????????????????users.setName(rs.getString(4));
????????????????users.setNic(rs.getString(5));
????????????????users.setEmail(rs.getString(6));
????????????????users.setPhone(rs.getString(7));
????????????????users.setSelfshow(rs.getString(8));
????????????????list.add(users);
????????????}
????????}catch?(Exception?e)?{
????????????//?TODO:?handle?exception
????????}
????????return?list;
????}
  相关解决方案