分页实现-----首页、上一页、下一页、最后一页
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>
例:[/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>
相关文章推荐
- JSP+Servlet技术实现分页 首页 下一页 每一页显示10条页码 下一页 尾页 第页/共页 (利用PageBean实现)
- asp.net 2.0中实现自定义分页(首页,上一页,10页缩略,下一页,末页,前10页,后10页)
- GridView自带分页 1总页数 首页 下一页 上一页 尾页 X 页 go 实现方法 .
- asp.net 2.0中实现自定义分页(首页,上一页,10页缩略,下一页,末页,前10页,后10页)
- 关于MVC中使用JqGrid插件分页时无法显示分页按钮(首页、上一页、下一页、最后一页)的原因
- [原创]Asp.net2.0 VS 2005下的repeater控件本功能分页实例(共有 条记录 共有几页 当前第 页 首页,上一页,下一页,尾页 DropDownList跳转)
- 毕业设计(十二)---后台用户管理(2)之- 分页 实现上一页,下一页,跳页功能
- repeater 自定义分页 首页 上一页 下一页 尾页
- 原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)
- 将模版列功能改造成博客内容列表, 并使完成分页 (使用分页模板完成,显示上一页,下一页,第一页,最后一页,和当前第x页,共y页 。)
- 将模版列功能改造成博客内容列表, 并使完成分页 (使用分页模板完成,显示上一页,下一页,第一页,最后一页,和当前第x页,共y页 。)
- GridView自带分页 1/总页数 首页 下一页 上一页 尾页 X 页 go 实现方法
- HTML静态分页(形如:首页,上一页,下一页,尾页)
- 分页对 首页,上一页,下一页,尾页按钮的处理
- GridView分页 记录总数:15 总页数:2 当前页:1 首页 上一页 下一页 尾页 GO
- 1 用存储过程实现分页,除了上一页,下一页,第一页,和末页外还要有go按钮,以及go到那里的文本框。另外还要在Lable显示“当前x页,一共y页”。注意验证控件的使用和 链接存储过程的内容。
- ASP.NET 分页实现源码(上一页 下一页共页数 第几页)
- 毕业设计(十二)---后台用户管理(2)之- 分页 实现上一页,下一页,跳页功能
- 自己为 GridView 写分页 如: [首页][上一页][下一页][末页]
- DataGrid 分页 首页 上一页 下一页 跳转页