`
eneve520
  • 浏览: 56796 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Serlvet+jsp+pageUtil实现分页

    博客分类:
  • J2SE
阅读更多

代码里删除了部分信息,不会影响思路,

 

看代码的朋友把相应的补全就行了,

 

如果有不足的地方,望各位提出意见

 

Servlet代码

 

 

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 

public class ShowServlet extends HttpServlet {

 
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  
   try {
  List list = List集合

//  下面为固定写法
  String page = request.getParameter("page");
  String beginpages = request.getParameter("begin");
  //转向路径
  String url="转向你的jsp页面路径";
  int pagesize = 8;// 每页条数
  PageUtil.pageSet(request, response, pagesize, page, beginpages, listAffiche, url);

  } catch (SQLException e) {
   
   e.printStackTrace();
  }
 }

 
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doGet(request,response);
 }

}

 

jsp页面代码:

 

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>test</title>
    
   <style type="text/css">
   .table_border td{border-top:1px #DDD solid;border-right:1px #DDD solid;}
 .table_border{border-bottom:1px #DDD solid;border-left:1px #DDD solid;}
  </style>
  </head>
 
  <body>
    
    <div align="center">
     <table class="table_border">     
      <!--标签里都是固定的写法,与util工具类对应-->
      <c:forEach items="${list}" var="temp" begin="${begin}" end="${end-1}">
       <tr>
       <td >${temp.property1 }</td>
       <td>${temp.property2 }</td>
       <td>${temp.property3 }</td>

      </tr>    
      
      </c:forEach>
       <tr>
    <td colspan="2" align="right">
    共${pageNum}页 每页${pagesize }条 共 ${sumCount} 条记录
    </td>
    <td colspan="3" align="right">     
     <a href="showSerlvet.do?page=first&begin=${begin}">首页</a>
     <a href="showSerlvet.do?page=last&begin=${begin}">上一页</a>
     <a href="showSerlvet.do?page=next&begin=${begin}">下一页</a>
     <a href="showSerlvet.do?page=end&begin=${begin}">尾页</a>
    </td>
   </tr>
           </table>
    </div>
  </body>
</html>

 

PageUtil--工具类代码


import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
  * @类名称:PageUtil
 * @类描述:分页工具类
 * @创建人:Ray

 * @修改人:Ray
 * @version 1.0
 *
 */
public class PageUtil {
 
 private static int[] fpage(String page, int beginpage, int pagesize,
   List list) {
  if (page != null) {
   if (page.equals("first")) {
    beginpage = 0;
   } else if (page.equals("last")) {
    if (beginpage == 0) {
    } else {
     beginpage = beginpage - pagesize;
    }
   } else if (page.equals("next")) {
    if (beginpage < list.size() - pagesize) {
     beginpage = beginpage + pagesize;
    }
   } else if (page.equals("end")) {
    if ((list.size() % pagesize) == 0) {
     beginpage = list.size() - pagesize;
    } else {
     pagesize = list.size() % pagesize;
     beginpage = list.size() - pagesize;
    }
   }
  }
  int[] set = { beginpage, pagesize };
  return set;
 }

 /**
  * 描述:统计 页数和记录条数
  * @param int pagesize List listObj
  * @return int[0] 页数 int[1] 记录条数
  */
 private static int[] getTongji(int pagesize, List listObj) {
  int sumCount = listObj.size();
  int pageNum = (int) sumCount / pagesize;

  if (sumCount % pagesize > 0) {// 如果有余数
   pageNum = pageNum + 1;
  }
  int[] set = { pageNum, sumCount };
  return set;
 }
 /***
  * 描述:分页的设置及处理
  * @author Ray
  * @param  int pagesize--每页条数
  *      String page --固定写法
  *      String beginpages--固定写法
  *      List list--要分页的List集合
  *      String --转向路径
  *
  * */
 public static void pageSet(HttpServletRequest request,
   HttpServletResponse response, int pagesize, String page,
   String beginpages, List list, String url) throws ServletException,
   IOException {
  int[] tongji = getTongji(pagesize, list);
  int pageNum = tongji[0];
  int sumCount = tongji[1];

  request.setAttribute("pageNum", pageNum);
  request.setAttribute("sumCount", sumCount);

  request.setAttribute("list", list);
  int beginpage = 0;

  if (beginpages != null) {
   beginpage = Integer.parseInt(beginpages);
  }
  request.setAttribute("pagesize", pagesize);
  int[] aa = fpage(page, beginpage, pagesize, list);

  request.setAttribute("begin", aa[0]);
  if (aa[0] * aa[1] == 0) {
   request.setAttribute("end", aa[1]);
  } else {
   request.setAttribute("end", aa[0] + pagesize);
  }
  request.getRequestDispatcher(url).forward(request, response);
 }
}

0
0
分享到:
评论

相关推荐

    Serlvet+jsp实现图片上传

    本篇文章将详细讲解如何利用Servlet和JSP来实现图片的上传功能,这是一个常见的用户交互需求,例如在社交媒体、电子商务网站等应用场景。 Servlet是Java EE规范中定义的一种服务器端组件,它能接收并处理HTTP请求,...

    Java serlvet+Jdbc+jsp+mysql 用户权限管理系统

    自己初学java,利用之前的项目经验而写出来的一套基础的用户权限管理系统。用到了javaWeb 最底层的servlet 及 jdbc .对初学java的童鞋具有很大的参考意义。页面是用了bootstrap。可以完整的运行。

    基于serlvet+jsp的在线花店销售系统.zip

    可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的...

    Serlvet+Jdbc+Extjs 用户管理微型系统,完整包及数据库

    综合以上,"Serlvet+Jdbc+Extjs 用户管理微型系统,完整包及数据库"是一个使用Java后端技术和JavaScript前端框架构建的小型Web应用,它实现了用户管理的基本功能,并包含了与之配套的数据库资源。该系统利用Servlet...

    餐饮业点餐系统+开题报告,框架:html + css +js +jquery +jsp + servlet

    框架:html + css + javascript(js) +jquery +jsp + serlvet + java + ssm + mysql 前端:html + css + javascript(js) +jquery +jsp 后端:serlvet + java + ssm + mysql 开发工具:ideaIC-2022.3.2.exe + jdk1.8 +...

    jsp+serlvet+mysql学生宿舍管理系统

    总的来说,"jsp+serlvet+mysql学生宿舍管理系统"是一个很好的JavaWeb实践项目,它涵盖了Web开发的基本元素,有助于学习者理解和掌握Web应用的开发流程,同时也能满足实际管理需求,提高工作效率。对于初学者来说,这...

    java web餐饮业点餐系统框架:html + css + js +jquery +jsp + servlet ssm

    框架:html + css + javascript(js) +jquery +jsp + serlvet + java + ssm + mysql 前端:html + css + javascript(js) +jquery +jsp 后端:serlvet + java + ssm + mysql 开发工具:ideaIC-2022.3.2.exe + jdk1.8 +...

    Jquery+Serlvet+jdbc,管理系统筐架,下载完成可以二次开发

    在构建Web应用程序时,"Jquery+Serlvet+jdbc,管理系统筐架"是一个常见的技术栈,用于创建高效、可扩展的管理平台。这个压缩包提供的框架为开发者提供了一个基础,以便他们能够根据需求进行二次开发,快速实现自己的...

    JSP+Serlvet+JavaBean+Maven+MySql 学生 | 学籍 | 信息管理系统实战 Eclipse版本

    为新学习 JSP 的开发爱好者小白写下这篇文章,教你若何创建一个自己的学生信息管理系统,可能有很多小白也在迷茫中,建议你不要灰心啊,在下面我讲给你叙述如何进行完成一套自己的系统,并且提供两套版本,一套为 ...

    Serlvet+jdbc 网上商城购物车程序

    Servlet+jdbc 网上商城购物车程序是一个基于Java ...总的来说,"Serlvet+jdbc 网上商城购物车程序"是一个涵盖了Web开发、数据库操作、用户交互等多个方面的项目,对开发者来说,这是一个很好的实践Java Web技术的实例。

    基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统

    系统采用技术:Servlet+jsp+mysql+jQuery+bootstrap+面向接口编程 系统管理员: 个人信息管理,课程管理,成绩管理,学生信息管理,教师管理,所有账号管理等。 教师: 个人信息管理,课程管理,成绩管理,...

    jsp+serlvet+mysql学生宿舍管理系统第二版.zip

    将这个项目导入Eclipse或IDEA等开发环境中,开发者可以进一步了解和学习如何整合JSP、Servlet和MySQL,实现一个完整的Web应用。此外,通过调试和阅读代码,可以加深对MVC设计模式的理解,掌握如何处理HTTP请求、如何...

    JSP+Serlvet+JavaBean+Maven+MySql 学生 | 学籍 | 信息管理系统实战 Idea版本

    为新学习 JSP 的开发爱好者小白写下这篇文章,教你若何创建一个自己的学生信息管理系统,可能有很多小白也在迷茫中,建议你不要灰心啊,在下面我讲给你叙述如何进行完成一套自己的系统,并且提供两套版本,一套为 ...

    使用JSP+Servlet+JavaBean的MVC开发模式实现Web图书管理后台系统

    JSP+Servlet+JavaBean的MVC管理员登录后可列表显示所有图书信息,包括书籍ISBN编号、书名、作者、价格、出版时间、折扣、库存量等信息;能添加、修改和能批量删除图书信息,能对上述主要字段进行查询,其中价格和...

    企业宣传网站jsp+serlvet+javabean版本

    项目比较小,不过还是设计一些基础的知识,比较适合刚入门的学生们作为参考!

    Serlvet+Hibernate 进销存系统 适合初学者,代码完整

    总结来说,"Serlvet+Hibernate 进销存系统"是一个集成了Servlet和Hibernate两大核心技术的实战项目,对初学者来说极具价值。通过实际操作,不仅可以深入理解这两项技术,还能提升对企业级应用开发的整体认识,为日后...

    初学jsp实现小小聊天系统例子

    在本文中,我们将深入探讨如何使用JavaServer Pages(JSP)技术来构建一个简单的聊天系统。JSP是一种基于Java的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,以便实现服务器端的逻辑处理。 首先,让我们...

Global site tag (gtag.js) - Google Analytics