`
zsnlovewl
  • 浏览: 176594 次
  • 性别: 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做的简单新闻发布系统

    【标题】"servlet+jsp+javabean+mysql做的简单新闻发布系统" 是一个基于Java Web技术构建的初级新闻发布平台。这个系统的核心是利用Servlet处理客户端请求,JSP用于展示动态内容,JavaBean作为业务逻辑层,而MySQL...

    JavaBean+servlet+jsp真分页

    ### JavaBean + Servlet + JSP 实现真分页详解 在Web开发中,尤其是在处理大量数据展示时,分页是一项非常关键的技术。本文将详细解析如何利用JavaBean、Servlet和JSP来实现“真分页”,即服务器端的分页处理,确保...

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

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

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

    在本项目中,我们主要探讨了Java Web开发中的三个核心组件:JSP(JavaServer Pages)、Servlet和JavaBean,以及如何结合它们实现用户登录功能和分页显示操作。此外,项目还利用了Google的验证码服务来增强安全性。 ...

    JavaBean+servlet+jsp真分页.pdf

    在上述代码中,我们看到了一个简单的Java Web应用中用于实现真分页的JavaBean、Servlet和JSP的配合。首先,`Goods`类作为数据模型,包含了物品的基本属性如编号(`goodsid`)、名称(`goodsname`)和价格(`price`)...

    jsp+javabean分页显示

    在这个“jsp+javabean分页显示”的项目中,开发者使用了JavaServer Pages (JSP) 和 JavaBeans 技术来实现这一功能。以下是对这个主题的详细讲解: **1. JSP(JavaServer Pages)** JSP是Java EE平台的一部分,用于...

    JSP+servlet+javabean留言簿系统

    本文将深入探讨一个基于JSP、Servlet和JavaBean的完整留言簿系统,包括其核心功能、实现方式以及适合的学习者群体。 首先,该留言簿系统的核心功能包括:初始化数据库、完整分页、用户注册与登录、权限管理以及DAO...

    Jsp中利用JavaBean技术实现分页功能

    ### JSP中利用JavaBean技术实现分页功能详解 #### 一、背景介绍与目标设定 在Web开发中,为了提升用户体验以及优化服务器资源管理,数据分页展示成为了一种非常重要的技术手段。本文旨在详细介绍如何在JSP(Java...

    分页jsp详细javabean+mvc

    ### 分页JSP详细解析:JavaBean+MVC模式 #### 实验背景及目标 本实验旨在通过实际操作,让学习者深入理解并掌握数据库应用开发中的关键环节——分页技术,并结合MVC(Model-View-Controller)设计模式进行实践。...

    JSP-学生课绩管理系统jsp+servlet+javaBean+sql-server.zip

    【JSP-学生课绩管理系统】是一个基于Java技术的Web应用程序,主要采用了JSP(JavaServer Pages)、Servlet和JavaBean技术,以及SQL Server数据库来实现对学生成绩的有效管理。这个系统提供了教师、管理员和学生等...

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

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

    基于JDBC实现的DAO

    基于JDBC实现的DAO(Data Access Object)是一种在Java编程中常见的数据访问模式,它用于封装对数据库的操作,使得业务逻辑层与数据访问层解耦,提高了代码的可复用性和可维护性。以下是关于基于JDBC实现DAO的一些...

    jsp+servlet+javabean(jdbc)框架搭建说明手册

    总结,本手册详细介绍了基于JSP、Servlet和JavaBean的Web框架搭建过程,从基础架构搭建到逐步优化,最后实现分页功能。通过这个过程,开发者可以深入理解Web应用程序的开发流程和最佳实践,为后续更复杂的项目开发...

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

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

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

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

    jsp+javabean分页技术.pdf

    本教程将详细介绍如何使用JSP(JavaServer Pages)结合JavaBean实现数据库数据的分页显示。 1. **JavaBean组件**: 在JavaBean中,我们定义了`Admin`类,它代表用户信息。`Admin`类包含了两个属性:`account`...

    [其他类别]javabean分页程序_javabean(毕设 + 课设).zip

    【标题】:“javabean分页程序_javabean(毕设 + 课设)”是一个针对Java开发的项目,主要涉及使用JavaBeans技术来实现数据的分页展示。JavaBeans是Java的一种组件模型,常用于构建可复用的软件组件,尤其在企业级...

    51CTO下载-jsp+servlet+javabean实现的新闻发布系统

    【新闻心态】是一个基于JSP、Servlet和JavaBean技术实现的新闻发布系统,旨在提供一个简易而实用的平台,用于发布和管理新闻。该系统的核心功能包括新闻的添加、编辑、删除以及展示,对于初学者或者需要快速搭建新闻...

    JSP做的一个论坛MVC+DAO+JSTL

    综上所述,这个论坛项目利用了MVC设计模式来组织代码,通过DAO模式处理数据访问,借助JSTL标签库简化JSP页面的编写,实现了高效、可维护的Web应用开发。在实际开发过程中,还需要考虑安全性、性能优化以及用户体验等...

    简易的JSP信息管理程序,JSP+MVC+数据分页_增删改查

    在这个程序中,可能包括了JavaBean或实体类,用于封装信息管理的数据结构,以及与数据库交互的服务类,如DAO(Data Access Object)接口及其实现,负责数据的增删改查操作。 2. **View**:视图层,主要负责用户界面...

Global site tag (gtag.js) - Google Analytics