实现:首页--上一页--下一页--末页的简单分页实现
代码如下:
Bean中的代码
Dao中的代码
//获得总的页数
public int doTotalPage(doPage dopage) {
int totalPage=0;
con = ConnectionFactory.getConnection();
try {
ps=con.prepareStatement("select count(*) from news");
rs=ps.executeQuery();
if (rs.next()) {
//获得总页数;总页数=上取整(总记录/每页大小)
// System.out.println("总记录:"+rs.getInt(1)+"每页大小:"+dopage.getPageSize()+"页数:"+rs.getInt(1)/Double.parseDouble(dopage.getPageSize()+""));
totalPage=(int) Math.ceil(rs.getInt(1)/Double.parseDouble(dopage.getPageSize()+""));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbClose.close(rs, ps, con);
}
return totalPage;
}
//查询所有的数据
public doPage doFindAll(doPage dopage) {
ArrayList userlist=new ArrayList();
con= ConnectionFactory.getConnection();
try {
String sql="select * from news limit "+(dopage.getNowPage()-1)*dopage.getPageSize()+"" +
" , "+dopage.getPageSize();
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
//封装user对象
News new1=new News();
new1.setNid(rs.getInt("nid"));
new1.setNews(rs.getString("news"));
new1.setClasses(rs.getString("classes"));
new1.setDims(rs.getString("dims"));
//向数据集合中添加元素
userlist.add(new1);
}
//将查询的结果封装到doPage
dopage.setList(userlist);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DbClose.close(rs, ps, con);
}
return dopage;
}
Servlet中的代码
// 查询所有的数据,并分页显示
if (biaoshi.equals("list")) {
InsertNews it = new InsertNews();
// 封装分页查询的参数的对象doPage
doPage dopage = new doPage();
dopage.setNowPage(Integer.parseInt(pageNo));
dopage.setPageSize(4);
// 执行查询操作,参数是doPage
dopage = it.doFindAll(dopage);
// 得到总的页数
dopage.setTotalPage(it.doTotalPage(dopage));
// 将返回的结果,放到request中到jsp中显示
request.setAttribute("doPage", dopage);
// 页面跳转
this.gotoPage("Comlist.jsp", request, response);
}
}
// 跳转页面方法
private void gotoPage(String URL, HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher rd;
rd = request.getRequestDispatcher(URL);
rd.forward(request, response);
}
public void init() throws ServletException {
}
Jsp中的代码
<DIV class=Extra>
<a href="InfoComManage?biaoshi=list&page=1">首页</a>
<%if (dopage.getNowPage() - 1 > 0) {%>
<SPAN class=Unable>
<a href="InfoComManage?biaoshi=list&page=<%=(dopage.getNowPage() - 1)%>">上一页
</a>
</SPAN>
<%}
if (dopage.getNowPage() + 1 <= dopage.getTotalPage()) {
%>
<a href="InfoComManage?biaoshi=list&page=<%=(dopage.getNowPage() + 1)%>">下一页</a>
<%}%>
<a href="InfoComManage?biaoshi=list&page=<%=dopage.getTotalPage()%>">末页
</a>
</DIV>
本文介绍了一个简单的分页功能实现方案,包括Bean、Dao和Servlet层的代码细节,以及如何在JSP页面上展示分页链接。
4995

被折叠的 条评论
为什么被折叠?



