Jsp页面循环显示自定义的list数据

关于如何显示的问题,虽然很简单,但许久没用了,也不是很容易想到,区别是把数据库查询出来的数据先放入到相应的bean中,然后将bean通过泛型放入list里面;我以往的开发并没有太多的将bean应用到这个地方,昨天张广问我的时候我也束手无策,经过很长时间的调试才想到这些办法。许多东西没用就会生疏,直至遗忘,这一点还要感谢广量哈~~ 

一 在dao查找出来所有的数据

public List<User> findall() throws Exception{
  List<UseruserList=new ArrayList<User>();
  try {
   conn=Dbinit.getConn();
   pstmt=conn.prepareStatement("select * from user");
   rs=pstmt.executeQuery();

   while (rs!=null && rs.next()) {
     User user=new User(); 
    user.setId(rs.getLong("id")); //读取数据库里的值保存到对象
    user.setname(rs.getString("name"));
    user.setNickname(rs.getString("Nickname"));
    user.setBirthday(rs.getString("Birthday"));
    user.setSex(rs.getString("Sex")); 
    user.setAge(rs.getString("Age"));    

     userList.add(user); //将对象添加保存到列表
   
   }
   return userList;    
  } catch (RuntimeException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   return null;
  }finally{
   Dbinit.close(rs, pstmt, conn);
  }

二 servlet层里面的代码 

   try {
     List<User> list=Userdao.findall();
    request.setAttribute("userlist", list); 
    request.getRequestDispatcher("/admin/userlist.jsp").forward(request,response);
   } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

三 前台userlist.jsp列表页面

<table>
  <%
  //循环显示数据
  List<Useruserlist=(List)request.getAttribute("userlist"); 
   if(Userlist.size()!=0){
     for(int i=0;i<userlist.size();i++){        
         pageContext.setAttribute("User",userlist.get(i)); 
    %>
<tr>
     <td>${User.id }</td>
     <td>${User.name }</td>
     <td>${User.Nickname }</td>
     <td>${User.Birthday }</td>
     <td>${User.Sex }</td>
  </tr>
  <%
     }
   }else{
    ..........
   }

%>
  </table>

补充: 还有另一种方法,可以直接用JSP表达式

   <table>
  <%
  //循环显示数据
   List<Useruserlist=(List)request.getAttribute("userlist"); 
   if(Userlist.size()!=0){
     for(int i=0;i<userlist.size();i++){
      User user =new User(); 
      user = userlist.get(i);
  %>
<tr>
     <td><%=userlist.get(i).getId() %></td>
     <td><%=userlist.get(i).getname() %></td>
     <td><%=userlist.get(i).getNickname() %></td>
     <td><%=userlist.get(i).getBirthday()%></td>
     <td><%=userlist.get(i).getSex()%></td>
  </tr>
  <%
     }
   }else{

........

   }

%>
  </table>


转载于:https://my.oschina.net/hehongbo/blog/203341

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值