您的位置:首页 > Web前端 > JavaScript

分页实现-----首页、上一页、下一页、最后一页

2011-02-28 20:06 1101 查看
分页实现[/b][/b]
例:[/b][/b]
首页、上一页、下一页、最后一页[/b][/b]
Bean[/b]中的代码[/b]
public class doPage {
//定义当前页
private int nowPage;
//定义每页显示的条数
private int pageSize;
//定义一个根据上述条件查询出的数据List
@SuppressWarnings("unchecked")
private List list;
//定义一个总的页数
private int totalPage;
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public int getNowPage() {
return nowPage;
}
public void setNowPage(int nowPage) {
this.nowPage = nowPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
Dao[/b]中的代码[/b][/b]
//获得总的页数
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) {
// TODO Auto-generated catch block
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[/b]中的代码[/b][/b]
// 查询所有的数据,并分页显示
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[/b]中的代码[/b][/b]
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  list class jsp servlet string dao
相关文章推荐