`
coolpep
  • 浏览: 80526 次
社区版块
存档分类
最新评论

分页

 
阅读更多
缩略显示
分页是被讨论的快烂了的问题,现在的分页组件页到处都是!像有名的disply EC等等.
最近有舍友问起来,我说用组件啊,不过毕业设计用那个好像不太合适!就自己写个!不过觉得不能叫组件,就是只能简单实现罢了,有时间再修改.

1.分页bean
  1. packageuseBean;
  2. importjava.sql.ResultSet;
  3. importjava.util.List;
  4. importbean.EvaluationBean;
  5. publicclassPageDiv{
  6. /**
  7. *@paramargs
  8. */
  9. privateintpageSize;
  10. privateintpageNum;
  11. privateintstartRow;
  12. privateintendRow;
  13. privateintrestPage;
  14. privateintcurrentPage;
  15. //获得当前页数用来实现翻页
  16. publicintgetCurrentPage(){
  17. returncurrentPage;
  18. }
  19. publicvoidsetCurrentPage(intcurrentPage){
  20. this.currentPage=currentPage;
  21. }
  22. //获得最后一行
  23. publicintgetEndRow(Listlist){
  24. if(this.getCurrentPage()==this.pageNum){
  25. this.endRow=this.getStartRow()+this.getRestPage(list)-1;
  26. }
  27. else{
  28. this.endRow=this.getStartRow()+this.getPageSize()-1;
  29. }
  30. returnendRow;
  31. }
  32. publicvoidsetEndRow(intendRow){
  33. this.endRow=endRow;
  34. }
  35. //获得总页数
  36. publicintgetPageNum(Listlist){
  37. if(list.size()%this.getPageSize()==0){
  38. this.pageNum=list.size()/this.getPageSize();
  39. }
  40. else{
  41. this.pageNum=list.size()/this.getPageSize()+1;
  42. }
  43. returnpageNum;
  44. }
  45. publicvoidsetPageNum(intpageNum){
  46. this.pageNum=pageNum;
  47. }
  48. //设置每页显示的记录数
  49. publicintgetPageSize(){
  50. returnpageSize;
  51. }
  52. publicvoidsetPageSize(intpageSize){
  53. this.pageSize=pageSize;
  54. }
  55. //获得起始行
  56. publicintgetStartRow(){
  57. startRow=(this.currentPage-1)*(this.pageNum)+1;
  58. returnstartRow;
  59. }
  60. publicvoidsetStartRow(intstartRow){
  61. this.startRow=startRow;
  62. }
  63. //获得剩余页数
  64. publicintgetRestPage(Listlist){
  65. if(list.size()%this.getPageSize()==0){
  66. this.restPage=0;
  67. }
  68. else{
  69. this.restPage=list.size()%this.getPageSize();
  70. }
  71. returnrestPage;
  72. }
  73. publicvoidsetRestPage(intrestPage){
  74. this.restPage=restPage;
  75. }
  76. publicstaticvoidmain(String[]args){
  77. //TODOAuto-generatedmethodstub
  78. Link_dbld=newLink_db();
  79. EvaluationBeane=newEvaluationBean();
  80. Listlist=e.findEvByName("李建成");
  81. System.out.println("共"+list.size()+"条记录");
  82. PageDivpd=newPageDiv();
  83. pd.setPageSize(5);
  84. pd.setCurrentPage(2);
  85. System.out.println("当前是"+pd.getCurrentPage()+"页");
  86. System.out.println("共"+pd.getPageNum(list)+"页记录");
  87. System.out.println("最后一页有"+pd.getRestPage(list)+"条记录");
  88. System.out.println("本页的第一行是"+pd.getStartRow()+"条记录");
  89. System.out.print("最后一行记录是第"+pd.getEndRow(list)+"条记录");
  90. }
  91. }


2.调用的serlet

  1. publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
  2. throwsServletException,IOException{
  3. response.setContentType("text/html");
  4. PrintWriterout=response.getWriter();
  5. Stringtname="";
  6. ListlistVo=null;
  7. if(request.getParameter("userName")!=null){
  8. tname=request.getParameter("userName");
  9. EvaluationBeaneb=newEvaluationBean();
  10. listVo=eb.findEvByName(tname);
  11. }
  12. if(listVo.size()>0){
  13. HttpSessionsession=request.getSession();
  14. session.setAttribute("tname",tname);
  15. session.setAttribute("list",listVo);
  16. //RequestDispatcherrd=request.getRequestDispatcher("/WEB-INF/teacher.jsp");
  17. //rd.forward(request,response);
  18. response.sendRedirect("../teacher.jsp");
  19. }
  20. else{
  21. RequestDispatcherrd=request.getRequestDispatcher("/WEB-INF/error.jsp");
  22. rd.forward(request,response);
  23. }
  24. }

3.调用的jsp文件
  1. <body>
  2. <formaction=""name="form1">
  3. <center>
  4. <%
  5. ListlistVo=(List)session.getAttribute("list");
  6. Stringtname=(String)session.getAttribute("tname");
  7. intaverageScore=0;
  8. PageDivpd=newPageDiv();
  9. pd.setPageSize(5);
  10. intcurrentPage=1;
  11. intpageNum=pd.getPageNum(listVo);
  12. if(request.getParameter("currentPage")!=null){
  13. currentPage=newInteger(request.getParameter("currentPage")).intValue();
  14. }
  15. pd.setCurrentPage(currentPage);
  16. %>
  17. <h2>
  18. <%=tname%>"老师你好!
  19. h2>
  20. <fontstyle='font-size:8pt'>
  21. 当前是第<%=pd.getCurrentPage()%>页)
  22. <br>
  23. <%=pd.getPageNum(listVo)%>页记录)
  24. <br>
  25. (共"<%=listVo.size()%>"项记录)
  26. font>
  27. <tablewidth='680'border='1'cellspacing='0'cellpadding='0'bordercolor='#B8D9F2'>
  28. <tr>
  29. <td><fontstyle='font-size:8pt'>
  30. 编号
  31. td>
  32. <td><fontstyle='font-size:8pt'>
  33. 分数
  34. td>
  35. <td><fontstyle='font-size:8pt'>
  36. 课程名称
  37. td>
  38. <td><fontstyle='font-size:8pt'>
  39. 教师名称
  40. td>
  41. <td><fontstyle='font-size:8pt'>
  42. 综合评语
  43. td>
  44. tr>
  45. <%
  46. for(inti=pd.getStartRow();i<pd.getEndRow(listVo)+1;i++){
  47. TeacherVovo=(TeacherVo)listVo.get(i-1);
  48. out.print("<tr>");
  49. out.print("<td><fontstyle='font-size:8pt'>");
  50. out.print(i);
  51. out.print("td>");
  52. out.print("<td><fontstyle='font-size:8pt'>");
  53. out.print(vo.getAllScore());
  54. out.print("td>");
  55. out.print("<td><fontstyle='font-size:8pt'>");
  56. out.print(vo.getCname());
  57. out.print("td>");
  58. out.print("<td><fontstyle='font-size:8pt'>");
  59. out.print(vo.getTname());
  60. out.print("td>");
  61. out.print("<td><fontstyle='font-size:8pt'>");
  62. out.print(vo.getCompre_reviews());
  63. out.print("td>");
  64. out.print("tr>");
  65. }
  66. %>
  67. <tr>
  68. <tdcolspan='5'align='right'>
  69. <fontstyle='font-size:8pt'><ahref='teacher.jsp?currentPage=1'>第一页a>
  70. <%if(pd.getCurrentPage()==1){%>
  71. <fontstyle='font-size:8pt'><ahref='teacher.jsp?currentPage=<!--d.getCurrentPage()-->'>上一页a>
  72. <%}else{%>
  73. <fontstyle='font-size:8pt'><ahref='teachert.jsp?currentPage=<!--d.getCurrentPage()-1-->'>上一页a>
  74. <%}%>
  75. <%if(pd.getCurrentPage()==pd.getPageNum(listVo)){%>
  76. <fontstyle='font-size:8pt'><ahref='teacher.jsp?currentPage=<!--d.getCurrentPage()-->'>下一页a>
  77. <%}else{%>
  78. <fontstyle='font-size:8pt'><ahref='teacher.jsp?currentPage=<!--d.getCurrentPage()+1-->'>下一页a>
  79. <%}%>
  80. <fontstyle='font-size:8pt'><ahref='teacher.jsp?currentPage=5'>最后一页a>
  81. <inputtype="button"value="翻到"onclick="T()"class="btn6">
  82. <inputname="currentPage"size="3"value=<%=pd.getCurrentPage()%>>
  83. td>
  84. tr>
  85. table>
  86. <br>
  87. <script>
  88. functionT(){
  89. vari=form1.currentPage.value;
  90. alert(i);
  91. varj=<%=pageNum%>;
  92. if((i>0)&&(i<j)){
  93. window.location="teacher.jsp?currentPage="+i;
  94. }
  95. else{
  96. window.location="teacher.jsp?currentPage="+j;
  97. }
  98. }
  99. script>
  100. form>
  101. body>

分享到:
评论

相关推荐

    Java Ajax分页,jsp ajax分页

    在网页开发中,分页是一种常见的用户界面设计,用于处理大量数据时的高效展示。Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容...

    Nifi模板-PostGreSqlToMySql数据分页实时采集-带分页.zip

    使用大数据处理工具NIFI,进行数据从Postgresql中导入到MySql中,实现数据的同步处理,处理的时候,是带有分页的,因为作者正在做相关的项目,而,用nifi同步数据好说,如何,进行数据的分页同步不好弄,这里,主要是,采用...

    分页插件.zip

    在网页开发中,分页是不可或缺的一个功能,特别是在数据量庞大的时候,为了提高用户体验,将大量数据分成多个页面展示,而不是一次性加载所有内容。本文将详细介绍一个基于jQuery的分页插件,它具有代码简洁、兼容性...

    分页:高度自定义分页

    2.1.目前网络上很多分页主键,不能进行按钮选择, 2.2.甚至对样式修改的难度也较大, 2.3.使用在开发过程中由于使用到了分页功能,在这里写了一个分页功能。 3.按钮选择 之前的很多按钮是通过参数进行选择,这样不...

    用recyclerview实现分页滑动,横向纵向分页

    本教程将深入讲解如何利用RecyclerView实现横向和纵向的分页滑动,充分利用Android原生功能。 首先,理解RecyclerView的基本结构。RecyclerView包含一个Adapter,它负责将数据集绑定到视图上,以及一个...

    QTableWidget,QTableView分页的分页栏

    为了解决这个问题,我们可以实现分页功能,让数据分批次加载,从而提高界面响应速度。本文将深入探讨如何在`QTableWidget`和`QTableView`中实现分页栏。 首先,我们需要理解`QTableWidget`和`QTableView`的区别。`...

    C#源码Datagridview分页事例

    本示例将详细介绍如何在C#中实现Datagridview的分页功能,这对于处理大量数据时提高用户界面的响应性和效率至关重要。 首先,理解Datagridview分页的基本概念。分页允许用户以较小的数据集浏览数据,而不是一次性...

    分页+递归显示分页+递归显示

    在IT领域,分页和递归是两种常见的数据处理技术,尤其在大数据量的Web应用中,它们扮演着至关重要的角色。"分页+递归显示分页+递归显示"这一主题涉及到如何有效地管理和展示大量层级数据。下面将详细阐述这两个概念...

    mysql数据库实现分页

    在MySQL数据库中,分页是处理大量数据查询时不可或缺的一种技术。它允许用户按需加载数据,而不是一次性获取所有记录,从而提高了用户体验并降低了服务器负载。以下是对分页实现的详细说明: 一、基础概念 分页是将...

    java_swing表格分页

    Java Swing 表格分页实现 Java Swing 是一个用于构建图形用户界面的 Java 库,提供了丰富的用户界面组件和功能。在本文中,我们将探讨如何使用 Java Swing 实现表格分页。 表格分页的需求 在实际开发中,我们经常...

    超强php分页打包 通用分页 万能分页 ajax分页 google分页

    本压缩包“超强php分页打包 通用分页 万能分页 ajax分页 google分页”提供了一系列的分页解决方案,包括了基本的PHP分页、通用的分页实现、以及结合AJAX技术的动态分页,旨在满足各种项目需求。下面将详细介绍这些...

    WinForm自定义分页控件

    在Windows Forms(WinForm)开发中,我们常常需要实现数据的分页显示,以提高用户界面的可操作性和性能。自定义分页控件能够帮助我们更好地管理大量数据,提供流畅的用户体验。本文将深入探讨如何在WinForm应用中...

    bootstrap-table客户端分页实例

    这个"bootstrap-table客户端分页实例"是展示如何在不依赖服务器端处理的情况下,利用前端数据实现表格的分页功能,这对于小型项目或者数据量不大的场景非常实用。 Bootstrap Table的核心特性包括: 1. **数据源**...

    asp.net24种分页含源码

    在这个“asp.net24种分页含源码”的资源包中,我们重点关注的是ASP.NET中的分页技术,这是一种在处理大量数据时不可或缺的功能,可以提高网页加载速度,提升用户体验。 分页是Web应用中常见的数据展示策略,特别是...

    WPF 分页DataGrid 分页控件的实现

    在Windows Presentation Foundation (WPF) 中,开发人员经常需要处理大量的数据展示,此时分页功能就显得尤为重要。WPF DataGrid 控件是一个强大的表格展示工具,它可以方便地展示和操作数据,而添加分页功能则可以...

    使用jquery实现表格动态分页

    在网页开发中,数据展示是不可或缺的一部分,而大型数据集的处理往往需要用到分页功能,以便用户能够更高效地浏览和查找信息。本教程将详细讲解如何使用jQuery库来实现表格的动态分页,同时结合Java后端进行数据的...

    10种 js web分页效果

    在Web页面中,当数据量过大时,为了提高用户体验和加载速度,通常会采用分页技术来展示内容。本教程将深入探讨10种不同的JS Web分页效果,这些效果设计精良,适用于现代网站的需求。 1. **基础分页**:这是最简单的...

    JS+HTML分页代码

    在网页开发中,分页是一种常见的用户界面设计,它用于将大量数据分割成多个小部分,使得用户可以方便地浏览和导航。本示例提供的"JS+HTML分页代码"是一个利用JavaScript(JS)和超文本标记语言(HTML)实现的分页...

    pagination - 前端分页插件

    在前端开发中,当网页数据量过大时,为了提高用户体验和加载速度,通常会采用分页显示数据。本文将深入探讨“pagination”这一前端分页插件,它可以帮助开发者轻松实现具有CSS样式的分页功能。 分页插件是前端开发...

    分页缓存

    在IT行业中,分页缓存是一种优化大数据量查询性能的技术,尤其在Web应用程序中非常常见。它通过将数据库查询结果存储在内存缓存中,减少对数据库的直接访问,从而提高系统响应速度和用户体验。本篇文章将深入探讨...

Global site tag (gtag.js) - Google Analytics