JSP中如何 循环显示 数据库中的数据到list.jsp页面 (转载)
2016-04-24 18:49
531 查看
一 首先在dao层写findall方法,返回值为 要循环对象 的队列列表。查找出来所有的数据
二 servlet层里面的代码
4000
三 前台list.jsp列表页面
public List<News> findall() throws Exception{ List<News> newsList=new ArrayList<News>(); try { conn=Dbinit.getConn(); pstmt=conn.prepareStatement("select * from news"); rs=pstmt.executeQuery(); while (rs!=null && rs.next()) { News news=new News(); //此处新建对象一定要放在循环里面,不能放在while外面,不然只能循环出最后一条数据 //我昨天就因为这个错误,花费了一天的时间呀,而且也不能初始化为null,不然取不到值的 news.setId(rs.getLong("id")); //读取数据库里的值保存到对象 news.setTitle(rs.getString("title")); news.setZuozhe(rs.getString("zuozhe")); news.setLaiyuan(rs.getString("laiyuan")); news.setContent(rs.getString("content")); news.setFabutime(rs.getString("fabutime")); newsList.add(news); //将对象添加保存到列表 } return newsList; } catch (RuntimeException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; }finally{ Dbinit.close(rs, pstmt, conn); }
二 servlet层里面的代码
4000
try { List<News> list=newsdao.findall(); //执行dao方法 request.setAttribute("newslist", list); //保存到request方便前台调用 request.getRequestDispatcher("/admin/list.jsp").forward(request,response); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
三 前台list.jsp列表页面
<table border="1" cellspacing="0" cellpadding="0" width="100%" style="align:center;"> <tr bgcolor="ff9900" style="font-weight:bold;"> <th>新闻编号</th><th>新闻标题</th><th>发布人</th><th>来源</th><th>发布时间</th><th width="100" colspan="2">操作</th></tr> <% //循环显示数据 List<News> newslist=(List)request.getAttribute("newslist"); // 取request里面的对象队列 if(newslist.size()!=0){ for(int i=0;i<newslist.size();i++){ pageContext.setAttribute("news",newslist.get(i)); //保存到页面pageContext里面方便下面进行EL表达式调用 %> <tr> <td>${news.id }</td> //EL表达式调用 <td>${news.title }</td> <td>${news.zuozhe }</td> <td>${news.laiyuan }</td> <td>${news.content }</td> <td><a href="admin/news.do?method=edit&id=${news.id }">修改</a> | <a href="admin/news.do?method=remove&id=${news.id }" onclick='return confirm("确定要删除吗?")' >删除</a></td> </tr> <% } }else{ %> <tr><td colspan="6">数据库中没有数据!</td></tr> <% } %> </table> 补充: 当然还有别一种方法,就是直接用JSP表达式 <table border="1" cellspacing="0" cellpadding="0" width="100%" style="align:center;"> <tr bgcolor="ff9900" style="font-weight:bold;"> <th>新闻编号</th><th>新闻标题</th><th>发布人</th><th>来源</th><th>发布时间</th><th width="100" colspan="2">操作</th></tr> <% //循环显示数据 List<News> newslist=(List)request.getAttribute("newslist"); // 取request里面的对象队列 if(newslist.size()!=0){ for(int i=0;i<newslist.size();i++){ News news =new News(); //新建对象 news = newslist.get(i); //每循环一次后将此时的值保存到对象里 %> <tr> <td><%=newslist.get(i).getId() %></td> //用JSP表达式 <td><%=newslist.get(i).getTitle() %></td> <td><%=newslist.get(i).getZuozhe() %></td> <td><%=newslist.get(i).getLaiyuan()%></td> <td><%=newslist.get(i).getContent()%></td> <td><a href="admin/news.do?method=edit&id=<%=newslist.get(i).getId()%>">修改</a> | <a href="admin/news.do?method=remove&id=<%=newslist.get(i).getId()%>" onclick='return confirm("确定要删除吗?")' >删除</a></td> </tr> <% } }else{ %> <tr><td colspan="6">数据库中没有数据!</td></tr> <% } %> </table>
新闻编号 | 新闻标题 | 发布人 | 来源 | 发布时间 | 操作 |
---|
相关文章推荐
- Redis——简单介绍
- 【Redis】二 JAVA redis 3.0.7连接
- Redis——简单介绍
- TimesTen可以缓存哪些版本的Oracle数据库
- 11g: Program with PL/SQL - 1Z0-144
- ORACLE 4 SQL语句解析
- 11g: SQL Fundamentals I 1Z0-051
- 第6讲 SQL语言概述
- 最全的MySQL基础【燕十八传世】
- coredata简单使用,插删改查
- 心碎的Basic SQL&Assignment
- mysql注入 4个参数
- Mysql学习
- Mysql 设置utf-8 真正一劳永逸的方法
- mysql简单操作(实时更新)
- 通过手动创建统计信息优化sql查询性能案例
- mysql 中主键和索引的关系和说明
- mysql表的字符集gbk转换成utf8测试
- MongoDB 3.0创建用户
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作