关于JSP翻页问题
特别声明:我是菜鸟。
需求描述:就是对数据库产生的新闻列表进行划页。一页只能显示15条信息(这个功能我已完成了),并且对多余的信息有翻页的功能。
困难:看了很多帖子,都是在jsp页面上对数据库进行操作。但是我的查询是利用BEAN来做的。
下面是我JSP页面上动态显示列表的代码:
//newslist.jsp
<%
Collection newsAll=newsBean.getNewsC( "announce ");
Iterator it=newsAll.iterator();
/**
* i的作用在于,控制列表的长度。
*/
int i=0;
while(it.hasNext()&i <15){
News temp=(News)it.next();
out.println( " <tr> ");
out.println( " <td> "+temp.getNewsID()+ " </td> ");
out.println( " <td> <a href= 'detail.jsp?newsID= "+temp.getNewsID()+ " '> "+temp.getTitle()+ " </a> </td> ");
out.println( " <td> "+temp.getTimes()+ " </td> ");
out.println( " <td> 【 <a href= 'modNews.jsp?newsID= "+temp.getNewsID()+ " '> 编辑 </a> 】 </td> ");
out.println( " <td> 【 <a href= 'delNews.jsp?newsID= "+temp.getNewsID()+ " '> 删除 </a> 】 </td> ");
out.println( " </tr> ");
i++;
}
session.setAttribute( "poniter ",it);
%>
我的思路:列表的产生是通过it对象在信息条上往下一个一个移动完成查询的。所以我想,能不能通过对it对象的值控制而达到进行翻页效果呢?
我的尝试:我新建了一个newslist_next.jsp作为下一页翻页的链接。在newslist.jsp用 session.getAttribute( "poniter ",it);获得it对象,再将新的it用it.hasNext()循环语句在此页里执行下去。这样确实没什么问题。可是……
麻烦来了:就是,我不可能事先做好N多的newslist_next.jsp来预备。如果你想说通过页面的自我调用来完成“下一页”的功能的话,对于newslist.jsp的传值当然只有第一次访问newslist_next.jsp才运行此代码。后面的newslist_next.jsp是不能运行这个代码的。
还有就是往前翻,啊~~~我头都大了。
要是你看的头都大的话,那就把上面的话全部忘掉吧!请高手告诉我怎么才能不用修改BEAN里代码,只通过JSP或者事件或者JS来完成翻页吧~~~~
=,=
[解决办法]
传递你需要查询的页数到newslist.jsp,再根据页数查询次页信息并显示出来!!