`
zsnlovewl
  • 浏览: 173309 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javabean+jsp+DAO实现分页

    博客分类:
  • JAVA
阅读更多
PageBean.java

package com.servlet;
import java.util.*;
public class PageBean {
private List arrayList;//存放总数据
// 分页信息定义
private int totalRows = 0; // 总数据数
private int pageRecorders = 20;// 每页显示记录数
private int totalPages = 0; // 总页数
private int pageStartRow = 0;// 每页的起始数
private int pageEndRow = 0; // 每页显示数据的终止数
private int currentPage = 1;// 当前页
private boolean hasNextPage = false; // 是否有下一页
private boolean hasPreviousPage = false; // 是否有前一页
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public boolean isHasNextPage() {
return hasNextPage;
}
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}
public boolean isHasPreviousPage() {
return hasPreviousPage;
}
public void setHasPreviousPage(boolean hasPreviousPage) {
this.hasPreviousPage = hasPreviousPage;
}
public int getPageEndRow() {
return pageEndRow;
}
public void setPageEndRow(int pageEndRow) {
this.pageEndRow = pageEndRow;
}
public int getPageRecorders() {
return pageRecorders;
}
public void setPageRecorders(int pageRecorders) {
this.pageRecorders = pageRecorders;
}
public int getPageStartRow() {
return pageStartRow;
}
public void setPageStartRow(int pageStartRow) {
this.pageStartRow = pageStartRow;
}
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
public int getTotalRows() {
return totalRows;
}
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}

public PageBean(List arrayList, int pageRecorders) {
this.arrayList = arrayList;
this.pageRecorders = pageRecorders;
totalRows = arrayList.size();// 获得总数据数
// 获得总页数
if ((totalRows % pageRecorders) == 0) {
totalPages = totalRows / pageRecorders;
} else {
totalPages = totalRows / pageRecorders + 1;
}
totalPages = (totalPages == 0) ? 1 : totalPages;
// 设置第一页开始位置和结束位置
if (totalRows < pageRecorders) {
this.pageStartRow = 0;
this.pageEndRow = totalRows;
} else {
this.pageStartRow = 0;
this.pageEndRow = pageRecorders;
}
// 是否有下一页
if (currentPage >= totalPages) {
hasNextPage = false;
} else {
hasNextPage = true;
}
}
// 转到页面
public List getPageList(int currentPage) {
//当前页小于1
if (currentPage <= 0) {
currentPage = 1;
}
//当前页大于总页数
if (currentPage >= totalPages) {
currentPage = totalPages;
hasNextPage = false;
} else {
hasNextPage = true;
}
//当前页大于1
if (currentPage > 1) {
hasPreviousPage = true;
} else {
hasPreviousPage = false;
}
//判断是否为最后一页
if (currentPage * pageRecorders < totalRows) {
pageEndRow = currentPage * pageRecorders;
pageStartRow = pageEndRow - pageRecorders;
} else {
pageEndRow = totalRows;
pageStartRow = pageRecorders * (totalPages - 1);
}
List<Object> pagelist = new ArrayList<Object>();
for (int i = pageStartRow; i < pageEndRow; i++) {
pagelist.add(arrayList.get(i));
}
return pagelist;
}
}



MyJsp.jsp

<%@ page c%>
<%@ page import="java.util.*" %>
<%@ page import="com.vo.*"%>
<%@ page import="com.servlet.PageBean"%>
<jsp:useBean id="right" scope="request" class="com.factory.Factory"/>
<html>
<head>
<title>熊猫眼工作室</title>
<link rel="stylesheet" href="css/shop.css" type="text/css">
</head>
<body>
<%!
int currentPage=1;
int Recorders= 4;
%>
<%
if(request.getParameter("page")==null||request.getParameter("page")=="")
{
currentPage=1;
}
else
{
currentPage=Integer.parseInt(request.getParameter("page"));
}
List shoplist=right.getShopInstance().queryAll();//数据库查询的数据
PageBean pages=new PageBean(shoplist,Recorders);//传入要分页的数据和每页的记录数
pages.setCurrentPage(currentPage);//设置当前页
List all=pages.getPageList(currentPage);//调用当前页的数据
Iterator cart=all.iterator();//迭代
while(cart.hasNext())//输出数据
{
ShopVo bv = (ShopVo)cart.next() ;
String name=bv.getGoodsname();
%>
<%=name %>
<%}%>
<p>
<!-- 分页导航条 -->
<form name="form1" method="post" action="MyJsp.jsp">
共<%=pages.getTotalRows() %>条 <%=Recorders %>条/页 第<%=pages.getCurrentPage() %>页/共<%=pages.getTotalPages() %>页
<%if(pages.getCurrentPage()<=1){ %>
首页
<%}else{ %>
<a href="MyJsp.jsp?page=1">首页</a>
<%} %>
<%if(pages.isHasPreviousPage()){ %>
<a href="MyJsp.jsp?page=<%=currentPage-1 %>">上一页</a>
<%}else{ %>
上一页
<%}%>
<%if(pages.isHasNextPage()) {%>
<a href="MyJsp.jsp?page=<%=currentPage+1 %>">下一页</a>
<%}else{ %>
下一页
<%}%>
<%if(pages.getCurrentPage()<pages.getTotalPages()){ %>
<a href="MyJsp.jsp?page=<%=pages.getTotalPages() %>">尾页</a>
<% }else{%>
尾页
<%} %>
<select name="page">
<%for(int i=1;i<=pages.getTotalPages();i++)
{%>
<option value="<%=i%>" <%if(i==pages.getCurrentPage()){ out.println("selected");} %>><%=i%></option>
<%}%>
</select>
<input type="submit" name="Submit" value="跳到">
</form>
</p>
</body>
</html> <!--v:3.2-->
分享到:
评论

相关推荐

    servlet+jsp+javabean+mysql做的简单新闻发布系统

    前台页面有些粗糙,没有分页功能。主要体验mvc设计模式及流程。

    基于Jsp+JavaBean+Servlet实现MVC模式的分页模板

    基于Jsp+JavaBean+Servlet实现MVC模式的分页模板 分页没有css,但分页功能齐全 对初学者应该有帮助 分三层编写dao层 service层 web层 数据库可以用ms server2005 或者 mysql5.0 脚本为ms2005.sql 、mysql.sql 切换...

    jsp,servlet,javabean个人登陆,分页显示操作

    分页,google验证码组建使用,精美分页样式,次纯属个人准备作品时候的分层作品,使用google验证码组件,以及自己写的分页,感觉用着还可以,分享给大家使用。只有功能,没有美工设计噢~~

    JSP+servlet+javabean留言簿系统

    完整的留言板系统,含初始化数据库脚本,完整分页,注册,登录,权限,DAO封装等实现,十分适合正在学习者参考

    jsp+servlet+javabean新闻发布系统计算机毕业设计源码

    统名称:jsp+servlet+javabean新闻发布系统 大家好,这是我搜集整理好并且测试通过的的一个新闻发布系统,有程序,设计详细文档和ppt演示,我现在把程序共享给大家,有需要完整文档的朋友请再联系我!! 系统角色:...

    基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip

    基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip # JavaWeb_Attendance 1. 软件开发流程(可说明软件的开发流程包括几个阶段,每个阶段做什么任务,出什么文档)z 1) 分析理解前端页面,...

    Jsp+JavaBean+Servlet的简单大学的web课程设计(二手房屋交易系统)

    所以这个修改一下交一般的Web jsp的设计没问题的,里面唯一不足的就是显示分页那一板块,有一个DAO文件,里面弄得差不多了,差一个Servlet调用就行了,其他的都很简单,但是MVC弄得很好的。 因为是便于交作业的参考...

    JSP+Servlet+MySQL的真分页代码,保证一清二楚

    使用JSP,servlet,mysql进行的真分页操作。包括jsp,servlet,javabean,dao以及mysql代码。

    pageHelperDemo.rar

    使用纯jsp+servlet+dao+javabean实现分页效果。代码简单容易理解。适合广大初学者。*_*

    JAVA WEB典型模块与项目实战大全

    第11章 javaweb邮件发送系统(jsp+servlet+javabean)  11.1 javaweb邮件发送系统原理  11.2 下载邮件相关jar包  11.3 普通方式电子邮件的发送  11.4 html方式电子邮件的发送  11.5 携带附件电子邮件的发送...

    MLDN李兴华JAVA_WEB笔记pdf文档

    |-第2节 分页实现(上)_假分页 |-第3节 分页实现(下)_真分页 |-第4节 JavaBean |-第5节 上传组件Smartupload 第23天 项目及DAO设计模式 |-第1节 实例讲解:雇员管理(加入照片和翻页) |-第2节 DAO设计模式...

    J2EE实验指导书*******

    实验十六 JSP+DAO开发模式 35 一、实验目的 35 二、实验环境 35 三、实验步骤 35 1、编写POJO User类 35 2、编写或使用原来的DBConnection类获得数据库连接 35 3、创建数据访问抽象层接口UserDAO 35 4、创建数据访问...

    JavaWeb13-过滤器与监听器.rar

    JSP+servlet+javabean学习 里面有PDF文件对该章节的详细讲解,培训老师才讲的到的,非常详细......资源内容如下: JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与...

    MLDN-J2EE核心教程

    本案例重点讲解了如何在DAO中使用分页程序,使用标准的JSP + JavaBean的开发模式讲解了分页的两种组成(显示、数据库)。 产品:JDK 1.5、Tomcat 5.0、MySQL数据库 技术:JAVA、JSP内置对象、SQL语句、DAO设计...

    JAVA程序开发大全---上半部分

    第20章 网上宠物商店(JSP+JavaBean) 342 20.1 系统需求分析与概要设计 342 20.1.1 系统需求分析 342 20.1.2 系统模块划分 342 20.2 数据库设计 344 20.3 使用MyEclipse创建项目 347 20.4 系统公共模块的实现 348 ...

    mldn web pdf

    开发环境搭建 Tomcat服务器安装及配置、...JSP基础语法 Scriptlet、request、response、session等核心对象以及分页功能的实现 JavaBean编程 JavaBean的基本语法、JavaBean的设计及开发、DAO设计模式、Smartupload

    mldn pdf web

    开发环境搭建 Tomcat服务器安装及配置、...JSP基础语法 Scriptlet、request、response、session等核心对象以及分页功能的实现 JavaBean编程 JavaBean的基本语法、JavaBean的设计及开发、DAO设计模式、Smartupload

Global site tag (gtag.js) - Google Analytics